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

Установка YouGile Podman

В данном разделе описана установка и эксплуатация YouGile с использованием Podman.

Функциональность полностью соответствует Docker-версии. Для использования Podman достаточно задать CONTAINER_RUNTIME=podman в файле .env — автодетект не используется.

Системные требования

Обязательные компоненты:

  • Podman (версия 4.0+) + podman-compose

Ресурсы сервера:

  • Минимум 2 GB RAM (рекомендуется 4 GB)
  • Минимум 5 GB свободного места на диске

Для SSL (опционально):

  • Доменное имя, указывающее на ваш сервер
  • Доступ к DNS-записям домена

Поддерживаемые операционные системы:

  • Linux (Ubuntu, Debian, CentOS, RHEL, Fedora и др.)
  • macOS
  • Windows (с WSL2)

Подготовка Podman

Убедитесь, что пользовательский сокет Podman запущен:

systemctl --user start podman.socket
systemctl --user enable podman.socket

Установите podman-compose, если он не установлен:

pip install podman-compose

Настройка окружения для podman compose

Установщик автоматически настраивает DOCKER_HOST для себя. Для ручного использования podman compose из терминала добавьте в ~/.bashrc или ~/.zshrc:

export DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock

Перезагрузите сессию:

source ~/.bashrc
# или
source ~/.zshrc

Установка

Шаг 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 и добавьте обязательный параметр для Podman:

cp .env.example .env

Откройте .env и задайте runtime:

CONTAINER_RUNTIME=podman

Подробнее о доступных параметрах — в разделе Конфигурация через .env.

Шаг 3: Запустите установку

./yougile-container install

Установщик автоматически:

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

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

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

http://localhost

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

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

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

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

    podman restart yougile nginx
  3. При необходимости настройте SSL-сертификат (см. раздел Конфигурация)

Повторный запуск установщика

По умолчанию все существующие файлы сохраняются. Повторный запуск безопасен — создаётся только то, чего не хватает:

ФайлПоведение по умолчанию
conf.json, nginx.conf, license.keyСохраняется ([SKIP])
Dockerfile, docker-compose.yml, .dockerignoreСохраняется ([SKIP])
yougile.tar.gzСохраняется ([SKIP])

Чтобы принудительно пересоздать Docker-файлы (например, после изменения .env):

./yougile-container install --regen

Предпросмотр без записи на диск

./yougile-container install --dry-run

Язык установщика

./yougile-container install --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

Podman volumes:

  • yougile_database — база данных
  • yougile_userdata — пользовательские файлы
  • yougile_logs — логи системы
  • yougile_extensions — расширения

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