Домашний сервер из списанного офисного ПК
Компании регулярно списывают компактные офисные системники, а на вторичке они стоят как пара месяцев аренды VPS. Для домашнего сервера это почти идеальный вариант: тихий, экономичный, с нормальным процессором и местом под SSD.
Что внутри
У меня четырёхъядерный Core i5 нескольких поколений назад, 16 ГБ памяти и SATA SSD. В простое такая машина потребляет порядка 10–15 Вт, так что круглосуточная работа почти не заметна в счёте за электричество. Raspberry Pi экономичнее, но x86 снимает массу вопросов с образами Docker.
Софт
Ubuntu Server без графики, всё остальное в Docker Compose: каждый сервис — отдельная папка с compose.yaml и .env, данные в /srv. Такой сервер легко переносится: скопировал /srv, поднял compose — готово.
Наружу ничего не пробрасываю напрямую. Доступ извне — только через туннель, а на роутере открыт минимум портов.
Бэкапы
Без бэкапов домашний сервер — просто способ потерять данные медленнее. Пользуюсь restic: он шифрует, дедуплицирует и умеет хранить копии хоть на внешнем диске, хоть в S3-совместимом хранилище.
restic -r /mnt/backup/restic backup /srv --exclude-caches
restic -r /mnt/backup/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
Обе команды висят в systemd-таймере раз в сутки. Раз в пару месяцев проверяю восстановление: restic restore latest --target /tmp/check. Бэкап, который ни разу не восстанавливали, — это надежда, а не бэкап.
Что бы сделал иначе
Сразу взял бы SSD побольше и отдельный диск под бэкапы, а не раздел на том же накопителе. И с первого дня завёл бы мониторинг: узнавать о заполненном диске по упавшему сервису неприятно.