9bb6ce0955
add documentaion file for docker-compose.yaml file
4.3 KiB
4.3 KiB
Документация по Docker Compose проекту
Обзор проекта
Данный проект представляет собой комплексную инфраструктуру для хостинга нескольких веб-сайтов и сервисов с использованием Docker Compose.
Сервисы
1. Certbot
Назначение: Автоматическое получение и обновление SSL/TLS сертификатов Let's Encrypt
- Контейнер:
certbot - Порты: Нет внешних портов
- Тома:
certbot_data- данные сертификатовcertbot_www- веб-корень для проверки доменов
- Зависимости: Требует настройки доменов в .env файле
2. Nginx
Назначение: Веб-сервер и обратный прокси для всех сайтов
- Контейнер:
nginx - Порты:
80:80,443:443 - Тома: Статические файлы всех сайтов + сертификаты Certbot
- Зависимости: Все остальные сервисы должны быть здоровы
- Сети:
web-network,internal,app-network,bb-network
3. Analytics
Назначение: Система статистики для сайта valitovgaziz.ru
- Контейнер:
analytics - Порты:
9999:3000 - Технология: Node.js 22+
- Тома: Логи и данные аналитики
- Сети:
web-network,internal
4. API для Yalarba.ru (api_tp)
Назначение: REST API для бизнес-логики yalarba.ru
- Контейнер:
api_tp - Порты:
8888:8080 - Технология: Golang (Gorm, Chi)
- База данных:
db(PostgreSQL) - Сети:
app-network
5. Основная база данных (db)
Назначение: База данных для yalarba.ru и easysite102.ru
- Контейнер:
db_tp - Порты:
5432:5432 - Технология: PostgreSQL 15
- Тома:
db_tp_data - Миграции: ./migrations
- Сети:
app-network
6. API для Бегущий Башкир (api_bb)
Назначение: REST API для сайта Бегущий Башкир
- Контейнер:
api_bb - Порты:
7777:8080 - Технология: Golang (Gorm, Chi)
- База данных:
db_bb(PostgreSQL) - Тома: Загружаемые файлы
- Сети:
bb-network
7. База данных Бегущий Башкир (db_bb)
Назначение: База данных для сайта Бегущий Башкир
- Контейнер:
db_bb - Порты:
5433:5432 - Технология: PostgreSQL 15
- Тома:
db_bb_data - Сети:
bb-network
8. Easysite SPA
Назначение: Интерфейс для туристического бизнеса
- Контейнер:
easysite - Порты:
3000:3000 - Технология: Nuxt.js
- Сети:
web-network,app-network
9. API для Easysite (api_es)
Назначение: REST API для easysite102.ru
- Контейнер:
api_es - Порты: Определяется через переменную окружения
- База данных:
db(общая с yalarba.ru) - Сети:
app-network,web-network
Сети
- web-network: Для веб-сервисов, доступных извне
- internal: Для внутренних сервисов
- app-network: Для приложений yalarba.ru
- bb-network: Для приложений Бегущий Башкир
Тома
certbot_data,certbot_www- данные Certbotdb_tp_data,db_bb_data- данные баз данныхapi_bb_uploads- загружаемые файлыanalytics_logs,analytics_data- логи и данные аналитики
Переменные окружения
Создайте файл .env в корне проекта со следующими переменными:
EMAIL=your-email@example.com
ALL_DOMAINS=domain1.ru,domain2.ru
API_ES_APP_PORT=8088