Установка YouGile Docker
В данном разделе описана установка и эксплуатация YouGile с использованием Docker и Docker Compose.
В процессе установки разворачивается следующая инфраструктура:
- контейнер YouGile
- контейнер Nginx (реверс-прокси)
- контейнер Certbot (для HTTPS)
- volumes для хранения данных и конфигурации
Системные требования
Обязательные компоненты:
- Docker (версия 20.10+) + Docker Compose (версия 2.0+)
Ресурсы сервера:
- Минимум 2 GB RAM (рекомендуется 4 GB)
- Минимум 5 GB свободного места на диске
Для SSL (опционально):
- Доменное имя, указывающее на ваш сервер
- Доступ к DNS-записям домена
Поддерживаемые операционные системы:
- Linux (Ubuntu, Debian, CentOS, RHEL, Fedora и др.)
- macOS
- Windows (с WSL2)
Установка
Шаг 1: Скачайте установщик
Скачайте архив с установщиком для вашей операционной системы:
Linux:
wget https://dist.yougile.com/docker/yougile-container.zip
unzip yougile-container.zip
chmod +x yougile-container
macOS:
curl -LO https://dist.yougile.com/docker/yougile-container.zip
unzip yougile-container.zip
chmod +x yougile-container
Windows (в WSL2):
curl -LO https://dist.yougile.com/docker/yougile-container.zip
unzip yougile-container.zip
chmod +x yougile-container
В архив входят два файла — разместите их в одном рабочем каталоге:
yougile-container # установщик
.env.example # шаблон конфигурации
Шаг 2: (Опционально) Настройте окружение
Скопируйте .env.example в .env и отредактируйте нужные параметры до основной установки:
cp .env.example .env
# отредактируйте .env под ваше окружение
Подробнее о доступных параметрах — в разделе Конфигурация через .env.
Шаг 3: Запустите установку
./yougile-container install
Инструмент автоматически:
- Создаст структуру каталогов
- Сгенерирует конфигурационные файлы (
conf.json,nginx.conf,license.key) - Создаст Docker-файлы (
Dockerfile,docker-compose.yml,.dockerignore) - Скачает архив YouGile
- Соберёт и запустит контейнеры
Шаг 4: Доступ к YouGile
После успешной установки откройте браузер:
http://localhost
Примечание: при включённом nginx (по умолчанию) порт 8001 привязан только к
127.0.0.1и недоступен из сети — весь внешний трафик идёт через nginx на 80/443. Если nginx отключён (NGINX_ENABLED=false), YouGile доступен напрямую наhttp://localhost:8001.
Шаг 5: Первоначальная настройка
-
Отредактируйте
./yougile/conf.json— укажите домен и SMTP-настройки -
Перезапустите контейнеры:
docker compose restart -
При необходимости настройте SSL-сертификат (см. раздел Конфигурация)
Повторный запуск установщика
По умолчанию все существующие файлы сохраняются. Повторный запуск ./yougile-container install безопасен — он создаст только то, чего не хватает:
| Файл | Поведение по умолчанию |
|---|---|
conf.json, nginx.conf, license.key | Сохраняется ([SKIP]) |
Dockerfile, docker-compose.yml, .dockerignore | Сохраняется ([SKIP]) |
yougile.tar.gz | Сохраняется ([SKIP]) |
Чтобы принудительно пересоздать Docker-файлы (например, после изменения .env):
./yougile-container install --regen
Предпросмотр без записи на диск
Флаг --dry-run выводит содержимое всех генерируемых файлов в stdout, ничего не записывая на диск и не запуская docker compose:
./yougile-container install --dry-run
Удобен для аудита конфигурации и сравнения результатов при разных .env:
./yougile-container install --dry-run > before.txt
# ... изменить .env ...
./yougile-container install --dry-run > after.txt
diff before.txt after.txt
Язык установщика
По умолчанию установщик работает на английском. Для переключения на русский:
./yougile-container install --lang=ru
Или задайте в .env:
YOUGILE_LANG=ru
Структура проекта
После установки будет создана следующая структура:
./
├── yougile-container # Исполняемый файл установщика
├── .env.example # Пример конфигурации
├── .env # Ваша конфигурация
├── yougile.tar.gz # Архив YouGile
├── Dockerfile # Docker-образ для YouGile
├── docker-compose.yml # Оркестрация контейнеров
├── entrypoint.sh # Docker entrypoint
├── .dockerignore # Исключения для Docker
├── yougile/ # Данные YouGile
│ ├── conf.json # Конфигурация приложения
│ ├── license.key # Лицензионный ключ
│ ├── logs/ # Логи приложения
│ ├── user-data/ # Пользовательские файлы
│ ├── database/ # База данных
│ └── extensions/ # Расширения
├── nginx/ # Конфигурация Nginx
│ ├── nginx.conf # Основная конфигурация
│ ├── conf.d/ # Дополнительные конфигурации
│ └── logs/ # Логи Nginx
└── certbot/ # SSL-сертификаты
├── www/ # ACME challenge
├── conf/ # Конфигурация и сертификаты
│ ├── live/ # Актуальные сертификаты
│ ├── archive/ # Архив сертификатов (Let's Encrypt)
│ └── renewal/ # Конфигурация автообновления (Let's Encrypt)
└── README.md # Инструкции по SSL
Docker volumes:
yougile_database— база данныхyougile_userdata— пользовательские файлыyougile_logs— логи системыyougile_extensions— расширения