Перейти к основному содержимому

Установка 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

Инструмент автоматически:

  1. Создаст структуру каталогов
  2. Сгенерирует конфигурационные файлы (conf.json, nginx.conf, license.key)
  3. Создаст Docker-файлы (Dockerfile, docker-compose.yml, .dockerignore)
  4. Скачает архив YouGile
  5. Соберёт и запустит контейнеры

Шаг 4: Доступ к YouGile

После успешной установки откройте браузер:

http://localhost

Примечание: при включённом nginx (по умолчанию) порт 8001 привязан только к 127.0.0.1 и недоступен из сети — весь внешний трафик идёт через nginx на 80/443. Если nginx отключён (NGINX_ENABLED=false), YouGile доступен напрямую на http://localhost:8001.

Шаг 5: Первоначальная настройка

  1. Отредактируйте ./yougile/conf.json — укажите домен и SMTP-настройки

  2. Перезапустите контейнеры:

    docker compose restart
  3. При необходимости настройте 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 — расширения

Дополнительные ресурсы