Compare commits

..

6 Commits

Author SHA1 Message Date
d582c0b449 feat(frontend): update submodule with modpack import UI
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-18 18:26:27 +03:00
e772d1758a feat(backend): modpack updates 2025-06-18 18:20:12 +03:00
0c28acc796 feat(admin): added admin panel 2025-06-18 17:30:56 +03:00
2cc1b6774c feat(backend): update submodule with launcher API 2025-06-18 13:17:08 +03:00
9ebdd0daeb feat(backend): update to modpack import implementation 2025-06-18 12:41:28 +03:00
3c47e73c94 fix(frontend): some fixes 2025-06-18 09:43:09 +03:00
3 changed files with 12 additions and 26 deletions

Submodule backend updated: 5e609017f0...96fb472497

View File

@@ -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