139 lines
3.8 KiB
Markdown
139 lines
3.8 KiB
Markdown
# 📌 Установка 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`). 🚀
|