mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-01-19 03:11:47 +00:00
107 lines
2.9 KiB
YAML
107 lines
2.9 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
container_name: remnawave_bot_db
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-remnawave_bot}
|
|
POSTGRES_USER: ${POSTGRES_USER:-remnawave_user}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-secure_password_123}
|
|
POSTGRES_INITDB_ARGS: '--encoding=UTF8 --locale=C'
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- bot_network
|
|
- remnawave-network # Подключаем к сети панели
|
|
healthcheck:
|
|
test:
|
|
[
|
|
'CMD-SHELL',
|
|
'pg_isready -U ${POSTGRES_USER:-remnawave_user} -d ${POSTGRES_DB:-remnawave_bot}',
|
|
]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: remnawave_bot_redis
|
|
restart: unless-stopped
|
|
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- bot_network
|
|
- remnawave-network # Подключаем к сети панели
|
|
healthcheck:
|
|
test: ['CMD', 'redis-cli', 'ping']
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
bot:
|
|
build: .
|
|
container_name: remnawave_bot
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
DOCKER_ENV: 'true'
|
|
DATABASE_MODE: 'auto'
|
|
POSTGRES_HOST: 'postgres'
|
|
POSTGRES_PORT: '5432'
|
|
POSTGRES_DB: '${POSTGRES_DB:-remnawave_bot}'
|
|
POSTGRES_USER: '${POSTGRES_USER:-remnawave_user}'
|
|
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD:-secure_password_123}'
|
|
REDIS_URL: 'redis://redis:6379/0'
|
|
TZ: 'Europe/Moscow'
|
|
LOCALES_PATH: '${LOCALES_PATH:-/app/locales}'
|
|
volumes:
|
|
- ./logs:/app/logs:rw
|
|
- ./data:/app/data:rw
|
|
- ./locales:/app/locales:rw
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ./vpn_logo.png:/app/vpn_logo.png:ro
|
|
ports:
|
|
- '${WEB_API_PORT:-8080}:8080'
|
|
networks:
|
|
- bot_network
|
|
- remnawave-network # Подключаем к сети панели
|
|
healthcheck:
|
|
test:
|
|
[
|
|
'CMD-SHELL',
|
|
'python -c "import requests, os; requests.get(''http://localhost:8080/health'', headers={''X-API-Key'': os.environ.get(''WEB_API_DEFAULT_TOKEN'')}, timeout=5) or exit(1)"',
|
|
]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
redis_data:
|
|
driver: local
|
|
|
|
networks:
|
|
bot_network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
gateway: 172.20.0.1
|
|
driver_opts:
|
|
com.docker.network.driver.mtu: 1350
|
|
|
|
remnawave-network:
|
|
name: remnawave-network
|
|
external: true # Используем существующую сеть панели
|