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

Конфигурация YouGile Docker

YouGile настройки

Отредактируйте файл настроек ./yougile/conf.json:

{
"port": 8001,
"mainPageUrl": "https://your-domain.com",
"emailFrom": "\"YouGile\" <noreply@your-domain.com>",
"smtp": {
"host": "smtp.your-provider.com",
"secure": true,
"port": 465,
"auth": {
"user": "your-email@your-domain.com",
"pass": "your-password"
}
}
}

Nginx настройки

Для использования с доменным именем отредактируйте ./nginx/nginx.conf:

  • Замените localhost на ваше доменное имя
  • Раскомментируйте HTTPS секцию после получения SSL сертификата

SSL сертификаты

Использование собственных SSL-сертификатов (основной способ)

Шаг 1. Подготовьте файлы сертификатов

Вам потребуются:

  • файл сертификата (обычно .crt или .pem);
  • файл приватного ключа (обычно .key);
  • опционально — цепочка сертификатов (intermediate / chain).

Шаг 2. Разместите сертификаты

Создайте директорию для вашего домена:

mkdir -p ./certbot/conf/live/your-domain.com/

Если у вас есть основной сертификат и промежуточные сертификаты, объедините их в один файл:

cat your-certificate.crt intermediate.crt > ./certbot/conf/live/your-domain.com/fullchain.pem

Если у вас уже есть файл с полной цепочкой сертификатов, скопируйте его:

cp your-fullchain.pem ./certbot/conf/live/your-domain.com/fullchain.pem

Скопируйте приватный ключ:

cp your-private.key ./certbot/conf/live/your-domain.com/privkey.pem

Установите корректные права доступа для файлов сертификатов:

chmod 644 ./certbot/conf/live/your-domain.com/fullchain.pem
chmod 600 ./certbot/conf/live/your-domain.com/privkey.pem

Шаг 3. Создайте DH-параметры

openssl dhparam -out ./certbot/conf/ssl-dhparams.pem 2048

Шаг 4. Настройте Nginx

Отредактируйте файл ./nginx/nginx.conf.

В секции HTTP-сервера (порт 80) включите редирект на HTTPS:

    server {
listen 80;
server_name your-domain.com;

location /.well-known/acme-challenge/ {
root /var/www/certbot;
}

location / {
return 301 https://$server_name$request_uri;
}
}

Затем настройте HTTPS-сервер:

    server {
listen 443 ssl;
server_name your-domain.com;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_certificate /etc/nginx/ssl/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/your-domain.com/privkey.pem;
ssl_dhparam /etc/nginx/ssl/ssl-dhparams.pem;

остальная конфигурация сервера
}

Шаг 5. Перезапустите Nginx

Проверьте конфигурацию и перезапустите контейнер Nginx:

docker compose exec nginx nginx -t
docker compose restart nginx

Шаг 6. Обновите конфигурацию YouGile

Отредактируйте файл ./yougile/conf.json и укажите основной URL сервиса:

    {
"mainPageUrl": "https://your-domain.com"
}

После этого перезапустите YouGile:

docker compose restart yougile

Let's Encrypt (альтернативный способ)

Для получения сертификатов Let's Encrypt выполните команду:

docker compose run --rm certbot certonly --webroot \
-w /var/www/certbot \
-d your-domain.com \
--email your-email@example.com \
--agree-tos \
--no-eff-email

После успешного получения сертификатов выполните шаги 4–6 выше (настройка Nginx и обновление конфигурации YouGile).

Автообновление сертификатов

Откройте системный crontab:

sudo crontab -e

Добавьте задание для автоматического продления сертификатов:

0 12 * * * cd /path/to/project && docker compose run --rm certbot renew --quiet && docker compose restart nginx