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