# 📌 Установка Gotify в Docker на Ubuntu 24.04 ## 1. Установка Docker и Docker Compose Если Docker не установлен, установим его: ```sh sudo apt update && sudo apt upgrade -y sudo apt install -y docker.io docker-compose sudo systemctl enable --now docker ``` Проверим версию: ```sh docker --version docker-compose --version ``` ---------------------------------------------------------------------------------------------------- ## 2. Создание директории для Gotify Лучшее место для сторонних сервисов — `/opt`: ```sh sudo mkdir -p /opt/gotify cd /opt/gotify ``` ## 3. Создаём самоподписанный сертификат ```sh sudo mkdir -p /opt/gotify/certs && cd /opt/gotify/certs openssl req -x509 -newkey rsa:4096 -keyout gotify.key -out gotify.crt -days 365 -nodes -subj "/CN=your.domain.com" ``` ---------------------------------------------------------------------------------------------------- ## 3. Создание `docker-compose.yml` Создадим конфигурацию: ```sh sudo mcedit /opt/gotify/docker-compose.yml ``` Добавляем: ```yaml services: gotify: image: gotify/server container_name: gotify restart: unless-stopped volumes: - "./certs:/certs" - "./data:/app/data" ports: - "8080:443" # HTTPS environment: - GOTIFY_DEFAULTUSER_NAME=admin - GOTIFY_DEFAULTUSER_PASS=s23uBXreliGIAVOohXhW - TZ=Asia/Almaty - GOTIFY_SERVER_SSL_ENABLED=true - GOTIFY_SERVER_SSL_CERTFILE=/certs/gotify.crt - GOTIFY_SERVER_SSL_CERTKEY=/certs/gotify.key networks: - gotify-net networks: gotify-net: driver: bridge ``` 💡 **Что здесь важно?** - **`security_opt: - no-new-privileges:true`** → запрещает повышать привилегии в контейнере. - **`volumes: ./data:/app/data`** → сохраняет данные вне контейнера. - **`restart: unless-stopped`** → перезапускает Gotify, если он внезапно упадёт. - **`ports: - "8080:80"`** → Gotify будет доступен на порту `8080`. 🔑 **Замените пароль** (`supersecretpassword`) на свой! --- ## 4. Запуск Gotify Запускаем контейнер: ```sh cd /opt/gotify sudo docker compose down sudo docker-compose up -d ``` Проверяем статус: ```sh sudo docker ps ``` Вы должны увидеть работающий контейнер `gotify`. --- ## 5. Проверка работы Открываем браузер и переходим: 👉 **https://192.168.200.84:8080** 👉 **https://gotify.locust.kz:8443** Логинимся: - **Имя**: `admin` - **Пароль**: тот, что указан в `GOTIFY_DEFAULTUSER_PASS` --- ## 6. Автоматический запуск при загрузке Docker уже настроен на автозапуск, но проверим: ```sh sudo systemctl enable --now docker ``` Чтобы Gotify запускался автоматически: ```sh cd /opt/gotify sudo docker-compose restart ``` --- ## 7. Логи и управление Просмотр логов: ```sh sudo docker-compose logs -f ``` Перезапуск контейнера: ```sh sudo docker-compose restart ``` Остановка: ```sh sudo docker-compose down ``` --- ## 8. Удаление Gotify (если потребуется) ```sh cd /opt/gotify sudo docker-compose down sudo rm -rf /opt/gotify ``` --- ## ✅ Готово! Теперь Gotify работает на порту `80` с безопасными настройками (`no-new-privileges:true`). 🚀