Заметки о домашнем сервере

sparn про Linux, Docker и всякий self-hosting. Пишу, чтобы не забыть.

Привет. Я sparn, и это, кажется, мой четвёртый подход к ведению блога. Первые три тихо умерли где-то между «надо бы написать» и «потом допишу». Но в этот раз повод другой, и он чисто утилитарный.

Я ковыряю домашний сервер. Не потому что мне за это платят, а потому что мне нравится, когда дома стоит коробка, которая делает полезные вещи и принадлежит только мне. И вот какая штука: каждый раз, когда я что-то настраиваю, я решаю одну и ту же проблему по второму разу. Полгода назад я уже чинил права на каталоге с данными. Я даже помню, что чинил. Но как именно — нет. И сижу, гуглю то, что сам же делал. Бесит.

Так что этот блог — в первую очередь моя внешняя память. Записал команду — не надо помнить. Записал, на какие грабли наступил — не наступлю второй раз. Если из этого кому-то ещё будет польза, отлично, но писать я буду честно для себя из будущего, которое всё забыло.

Почему WriteFreely

Я довольно долго смотрел, на чём вести. Варианты были очевидные: завести аккаунт на каком-нибудь готовом сервисе, поднять WordPress, или генератор статики типа Hugo.

Готовый сервис отпал сразу — я и так весь смысл затеи вижу в том, чтобы держать своё у себя. WordPress я уважаю, но это PHP, база, плагины, и через год оно превращается в зоопарк, который надо отдельно обслуживать. А я хочу обслуживать сервер, а не блог про сервер.

Статику я почти выбрал, но мне не понравилось, что для каждой заметки нужно лезть в репозиторий, собирать, деплоить. Хотелось просто открыть, написать, сохранить.

WriteFreely попал ровно в это ощущение:

  • один бинарь на Go, никаких интерпретаторов и зоопарка зависимостей;
  • self-hosted, лежит у меня в /app/writefreely/ в докере;
  • пишешь в чистом markdown, без визуального редактора, который норовит вставить мусорный html;
  • на выходе страница без тонны JS — открывается мгновенно даже с телефона в метро.

Минимализм тут не маркетинговое слово, а буквально: текст, заголовок, кнопка «опубликовать». Мне больше ничего и не надо.

О чём это всё будет

План на ближайшее время простой — писать про то, что реально делаю руками:

  • железо, на котором всё крутится (спойлер: ничего пафосного);
  • как я раскладываю сервисы по докер-стекам, чтобы потом не плакать при переезде;
  • хранилище, бэкапы, и почему бэкап без проверки восстановления — это не бэкап;
  • всякие мелкие настройки, которые я обязательно забуду через месяц.

Без расписания, без «контент-плана». Настроил что-то интересное — записал. Вот и весь движок.

Поехали.