feat(backend): update to modpack import implementation

This commit is contained in:
2025-06-18 12:41:28 +03:00
parent 3c47e73c94
commit 9ebdd0daeb
2 changed files with 11 additions and 25 deletions

Submodule backend updated: 5e609017f0...ca182d6d6f

View File

@@ -1,48 +1,39 @@
# Версия синтаксиса Docker Compose
version: "3.8"
services:
# 1. Веб-сервер и реверс-прокси Caddy
caddy:
image: caddy:2-alpine
container_name: platform-caddy
restart: unless-stopped
ports:
# Публикуем стандартные порты для веб-трафика
- "80:80"
- "443:443"
- "443:443/udp" # Для HTTP/3
- "443:443/udp"
volumes:
# Подключаем наш файл конфигурации Caddy
- ./Caddyfile:/etc/caddy/Caddyfile
# Подключаем папки с файлами, которые Caddy будет раздавать
- ./data/frontend:/srv/frontend # Статика фронтенда
- ./data/textures:/srv/files/textures # Скины и плащи
- ./data/modpack_files:/srv/files/modpacks # Файлы модпаков
# Именованные тома для персистентных данных Caddy (SSL-сертификаты и т.д.)
- ./data/frontend:/srv/frontend
- ./data/textures:/srv/files/textures
- ./data/modpack_files:/srv/files/modpacks
- caddy_data:/data
- caddy_config:/config
networks:
- platform-net
# 2. Бэкенд-сервер на Go
backend:
# Образ будет собираться и публиковаться в Gitea Registry нашим CI/CD
image: gitea.mrixs.me/minecraft-platform/backend:latest
container_name: platform-backend
restart: unless-stopped
depends_on:
- postgres # Запускать только после старта базы данных
- postgres
env_file:
- .env # Подключаем файл с секретными переменными (пароли, ключи)
volumes: # <--- ДОБАВЬТЕ ЭТОТ РАЗДЕЛ
# Монтируем ключ в контейнер по пути, указанному в .env
- ./secrets/private.pem:/app/private.pem:ro # :ro - только для чтения
- .env
volumes:
- ./secrets/private.pem:/app/private.pem:ro
- ./data/textures:/data/textures
- ./data/modpack_files:/data/modpacks
networks:
- platform-net
# 3. Вспомогательный сервис для измерения пинга
ping-helper:
image: gitea.mrixs.me/minecraft-platform/ping-helper:latest
container_name: platform-ping-helper
@@ -50,28 +41,23 @@ services:
networks:
- platform-net
# 4. База данных PostgreSQL
postgres:
image: postgres:16-alpine
container_name: platform-postgres
restart: unless-stopped
volumes:
# Именованный том для хранения данных БД
- postgres_data:/var/lib/postgresql/data
# Монтируем папку со скриптами миграций для возможного ручного запуска
- ./scripts/migrations:/docker-entrypoint-initdb.d
env_file:
- .env # Пароли и имя БД также берем из .env
- .env
networks:
- platform-net
# Определяем именованные тома для хранения данных между перезапусками контейнеров
volumes:
postgres_data:
caddy_data:
caddy_config:
# Определяем общую сеть для взаимодействия контейнеров по именам сервисов
networks:
platform-net:
driver: bridge