Комментарии 10
из преимуществ Caddy — автоматический SSL
В nginx есть модуль acme https://nginx.org/en/docs/http/ngx_http_acme_module.html
Где-то в сторонке, глядя на отправку джейсона через cat, нервно курит Ансибл.
Ансибл первым и рассматривал :) Упёрся в два момента: юзеру нужно стримить каждый шаг живым логом в браузер, и на чужом голом сервере не хочется ничего разворачивать ради десятка шагов. Тупые ssh-команды оказались прозрачнее, настолько, что их можно выложить в публичный репозиторий и читать построчно без знания ансибла. Для доверия это оказалось важнее идемпотентности. А джейсон через cat ну а как ещё 😁
Разрешите поинтересоваться, почему не:
terraform + k3s + helm/argo? (если хочется хорошо)
ansible + k3s + helm/argo? (если не облака, а свое железо)
ansible + docker swarm? (если хочется попроще)
Все они хорошо проверены временем, известны, и достаточно просты. Да и тулинга вокруг них полно, включая всякие web морды, и будет вам rolling update из коробки, да и много чего сверху
Стеки рабочие, вопрос - для кого. Мой юзер это джун, фрилансер или стартапер: пара compose-проектов на VPS за 300₽. k3s + helm + argo для него три новые системы, которые надо изучить и обновлять, а на 1–2 гигах кластер ещё и памяти отъест. На этом масштабе кубер проблем не решает, только добавляет свои. Даунтайма при деплое и так нет: старый контейнер живёт, пока собирается новый образ, а сам перезапуск caddy прикрывает ретраями 502 юзер не ловит. Вырастут масштабы может и до кубера дорасту 😁
недавно для себя открыл komodo - для деплоя docker-compose проектов. к нему навайбкодил обертку для caddy (который для доменов автоматом делает сертификаты) и coredns (который из label в docker-compose.yml вытягивает домены). все деплойные конфиги лежат в репозиториях.
Terraform, coolify, dockploy, просто codex и md файлик с инструкциями формата хорошо - делай, плохо - не делай?
Coolify и dokploy ближайшие соседи, да. Разница в панели - это ещё один сервис, который хостишь, обновляешь и охраняешь ты сам, и настройку самого сервера (файрвол, fail2ban, не-root) они тоже оставляют тебе. У меня это вынесено наружу: на машине остаётся только твой compose плюс общий caddy, и если сервис завтра пропадёт всё продолжит крутиться как обычный докер.
Передо мной постоянно была похожая рутина. Во многих моментах узнал себя)) Спасибо за статью, применю многое в работе
Сталкивался с похожей задачей. Своими неопытными руками собрал стек:
Инфра: Terraform + Ansible + Github Actions
Провайдеры: Linode + Cloudflare
Было очень просто, хоть я вообще не DevOps. Эта инфра за меня и создаёт VPS на linode, и настраивает DNS на Cloudflare и запускает мои проекты. Многим читателям я думаю такой конфигурации хватит в 90% проектов.

Я устал деплоить проекты вручную и автоматизировал этот процесс