From 5082ccba701f19bb6d5e00421d7536dca09101aa Mon Sep 17 00:00:00 2001 From: Fr1ngg Date: Mon, 4 Aug 2025 20:31:37 +0300 Subject: [PATCH] Create docker-compose.yml --- docker-compose.yml | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..9a6a7c12 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,55 @@ +services: + # PostgreSQL база данных + postgres: + image: postgres:15-alpine + container_name: remnawave_bot_db + restart: unless-stopped + volumes: + - postgres_data:/var/lib/postgresql/data + - ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro + ports: + - "5432:5432" + healthcheck: + test: ["CMD-SHELL", "pg_isready -U bot_user -d remnawave_bot"] + interval: 10s + timeout: 5s + retries: 5 + + # RemnaWave Bot + bot: + build: . + container_name: remnawave_bot + restart: unless-stopped + depends_on: + postgres: + condition: service_healthy + volumes: + - ./logs:/app/logs + - ./data:/app/data + healthcheck: + test: ["CMD-SHELL", "python -c 'import requests; requests.get(\"http://localhost:8000/health\", timeout=5)' || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + + # Redis для кэширования (опционально) + redis: + image: redis:7-alpine + container_name: remnawave_bot_redis + restart: unless-stopped + ports: + - "6379:6379" + volumes: + - redis_data:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + postgres_data: + driver: local + redis_data: + driver: local