Установка 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
Установщик автоматически:
- Прочитает
CONTAINER_RUNTIME=podmanиз.env - Настроит rootless Podman socket
- Создаст структуру каталогов
- Сгенерирует конфигурационные файлы (
conf.json,nginx.conf,license.key) - Создаст Docker-файлы (
Dockerfile,docker-compose.yml,.dockerignore) - Скачает архив YouGile
- Соберёт и запустит контейнеры
Шаг 4: Доступ к YouGile
После успешной установки откройте браузер:
http://localhost
Примечание: при включённом nginx (по умолчанию) порт 8001 доступен только локально — весь внешний трафик идёт через nginx на 80/443. Если nginx отключён (
NGINX_ENABLED=false), YouGile доступен напрямую наhttp://localhost:8001.
Шаг 5: Первоначальная настройка
-
Отредактируйте
./yougile/conf.json— укажите домен и SMTP-настройки -
Перезапустите контейнеры:
podman restart yougile nginx -
При необходимости настройте 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— расширения