Задачі команди губляться в чатах, табличках і голові одного менеджера. Ставимо власну Vikunja на одну маленьку VM: один контейнер, SQLite, окремий диск під дані, HTTPS без домену через внутрішній CA Caddy. А далі - проєкти, дедлайни й канбан-дошка, де видно, хто що робить. Усе кроками, які осилить офіс без штатного адміна.
Офісні файли ганяють через випадкові онлайн-конвертери PDF, хоча там комерційна таємниця й персональні дані. Ставимо власний Stirling PDF на одну Ubuntu-VM: окремий диск під дані, Docker, fat-образ заради конвертації кириличних документів і OCR, вхід із паролем і HTTPS без домену через внутрішній CA Caddy. Другий пост серії «Офіс без адміна».
Prometheus + Grafana - це потужно, але для кількох домашніх серверів забагато. Beszel робить те саме простіше: hub + agent у Docker, і метрики всіх хостів з графіками на одній сторінці. Показую з відео встановлення в терміналі та відео роботи в браузері.
Десяток вкладок із сервісами замінюємо однією акуратною стартовою сторінкою. Homepage - легкий YAML-дашборд, що піднімається за хвилину в Docker: групи сервісів, іконки, статус контейнерів, погода, пошук. З живим записом і скриншотами.
Ніякого ключа, ніякого стороннього репо, ніякого codename. На Ubuntu Docker лежить у штатному репозиторії - ставиться однією командою apt. Показую з живим записом на Ubuntu 26.04.
Збираємо WordPress у docker compose: wordpress + mariadb + redis трьома сервісами, wp-cli окремим профілем, Redis object cache. Той самий стек, що й руками - лише в контейнерах.
Усе як у пості про Apache, тільки фронт - nginx. Дивимось лише дельту: один server block з fastcgi_pass у php-fpm і try_files для «гарних посилань». З живим записом.
Ставимо WordPress руками, по-дорослому: Apache + PHP-FPM, MariaDB (utf8mb4, окремий юзер), Redis object cache. Крок за кроком, з готовими конфігами.
Базова конфігурація ufw: deny за замовчуванням, дозволяємо SSH і потрібні порти, whitelist по IP. З наочним записом - зліва сервер, справа клієнт.
Вбудований «діспетчер завдань» Apache: вмикаємо mod_status, дивимось /server-status і вчимося читати його цифри.