feat: configure docker-compose, caddy and drone-ci

This commit is contained in:
2025-06-14 19:59:25 +03:00
commit f85203a76e
4 changed files with 226 additions and 0 deletions

52
Caddyfile Normal file
View File

@@ -0,0 +1,52 @@
# Глобальный блок настроек
{
# Email для получения SSL-сертификатов от Let's Encrypt
acme_email mrixs@mrixs.me
}
# Основной блок для вашего домена
mc.mrixs.me {
# Включаем сжатие для ускорения загрузки
encode zstd gzip
# --- Маршрутизация запросов ---
# 1. API бэкенда (Yggdrasil, Web, Admin)
handle_path /api/* /authserver/* /sessionserver/* {
reverse_proxy backend:8080
}
# 2. WebSocket для измерения пинга
handle_path /ws/ping* {
reverse_proxy ping-helper:8081
}
# 3. Раздача файлов (скины, модпаки)
handle_path /files/* {
# Указываем корень, где лежат папки textures и modpacks
root * /srv
# Включаем файловый сервер
file_server
}
# 4. Раздача статики фронтенда (Vue.js SPA)
# Этот блок обрабатывает все остальные запросы
handle {
root * /srv/frontend
# Если файл не найден, отдаем index.html (стандартное поведение для SPA)
try_files {path} /index.html
file_server
}
# --- Заголовки безопасности (рекомендация из ТЗ) ---
header {
# Запрещает встраивать сайт в iframe на других доменах
X-Frame-Options "SAMEORIGIN"
# Защита от MIME-сниффинга
X-Content-Type-Options "nosniff"
# Включает HSTS, заставляя браузеры использовать только HTTPS
Strict-Transport-Security "max-age=31536000;"
# Базовая политика безопасности контента
# Content-Security-Policy "..."
}
}