renamed: documentation/DocerComposeYamlDocs.md -> documentation/DocerDocs.md
rename docs
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
# Документация по 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` - данные Certbot
|
||||
- `db_tp_data`, `db_bb_data` - данные баз данных
|
||||
- `api_bb_uploads` - загружаемые файлы
|
||||
- `analytics_logs`, `analytics_data` - логи и данные аналитики
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
Создайте файл `.env` в корне проекта со следующими переменными:
|
||||
|
||||
```env
|
||||
EMAIL=your-email@example.com
|
||||
ALL_DOMAINS=domain1.ru,domain2.ru
|
||||
API_ES_APP_PORT=8088
|
||||
Reference in New Issue
Block a user