Недавно со мной произошла забавная история: я прочитал о Fresh RSS, он показался мне хорошим, я установил его на сервер и начал пользоваться. Год назад такого не случилось бы, но и серверов с NixOS у меня тогда не было.
Последние несколько лет мои RSS-ленты хранились локально, только на телефоне. Идея была здравой, ведь читать я обычно могу вдали от компьютера, но на практике это никогда толком не работало. Многое удобнее читать на большом экране, а доверять приложению на телефоне управление статусами «прочитано/не прочитано» для тысяч статей из сотни лент было ненадёжно. Когда я сменил телефон, ленты удалось перенести, но статусы прочтения по пути потерялись.
Мне действительно нужен был агрегатор лент на стороне сервера, то есть программа, которая работает на сервере, управляет RSS-лентами и доступна через веб-интерфейс или клиентские приложения. Я давно этого хотел, но не решался, потому что это был бы ещё один побочный проект, который нужно поддерживать. Теперь, имея некоторый опыт работы с NixOS, я добавил рабочую конфигурацию Fresh RSS, включая резервное копирование, и это заняло 9 строк кода Nix плюс десяток строк для обратного прокси nginx. Эта установка работает без вмешательства уже несколько месяцев, а если сервер выйдет из строя, новый сервер с точно такой же конфигурацией можно поднять примерно за 15 минут.
Для сравнения: установка Fresh RSS вне NixOS означает распаковку архивов, настройку прав доступа, установку и настройку nginx и php-fpm, получение сертификатов Let's Encrypt, настройку резервного копирования и надежду, что всё это вы вспомните при повторной установке. Образы контейнеров немного упрощают процесс, но всё равно оставляют шаги, которые нужно помнить, и не гарантируют тот же результат спустя месяцы.
Автор не любит поддерживать побочные проекты, даже небольшие, потому что аварийное обслуживание и часы на обновления отнимают желание работать с компьютерами. Воспроизводимая конфигурация и делает самохостинг управляемым.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing