На своем VDS/VPS сервере, я объединил несколько сервисов, включая nextcloud, firefly-iii, mailu, wireguard, ryot и данный сайт.
Всё работает в docker-контейнерах, проксируется через nginx (так же в контейнере) и управляется docker compose.
Для удобства конфигурации переменные вынесены в .env файлы, compose не монолитный, а управление сервисами автоматизировано с помощью bash-скрипта.
Подробнее можете ознакомиться с проектом на github, где и описана его настройка.
Уделено внимание структуре проекта и документации, чтобы при необходимости можно было быстро внести изменения или, при необходимости, переехать на другой сервер.
Так как проект предполагает изначально личное использование, то о горизонтальном масштабировании речи не идёт, но при желании, за счет модульности, можно.
Дальнейшие планы включают автоматизацию развертывания инфраструктуры с terraform и ansible, миграцию в k8s, настройку CI/CD с использованием jenkins, интеграцию мониторинга через prometheus + grafana, а также работу с логами с использованием стека ELK + вероятно замена nginx на traefik. Хотя эти инструменты пока не довелось потрогать и есть только общее представление о них.
Текущий сайт обычная статика, если интересно, то код на github. JS написан AI, хех.
Для удобства развертывания, написан простенький dockerfile с healthcheck, а так же воспроизведена структура проекта выше,
что для интеграции в него позволяет просто клонировать репозиторий сайта, скопировать файлы, запустить compose
сайта и перезапустить compose nginx реверс прокси.