docbot/docker-compose.yml

72 lines
1.6 KiB
YAML

services:
db:
image: postgres:17
restart: unless-stopped
env_file:
- .env_db
volumes:
- db_data:/var/lib/postgresql/data
- ./db/init:/docker-entrypoint-initdb.d:ro
ports:
- 5432:5432
networks:
- docbot-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
chat:
build:
context: .
dockerfile: docker/chatbot/Dockerfile
restart: unless-stopped
environment:
- BOT_TOKEN=${BOT_TOKEN}
- DATABASE_URL=${DATABASE_URL}
- ADMIN_API_KEY=${ADMIN_API_KEY}
- LOGGING_LEVEL=${LOGGING_LEVEL:-INFO}
- PRODAMUS_TOKEN=${PRODAMUS_TOKEN}
volumes:
- ./data:/app/data
- ./conversations.pkl:/app/conversations.pkl
- ./.env:/app/.env
- ./.env_db:/app/.env_db
depends_on:
db:
condition: service_healthy
networks:
- docbot-network
profiles:
- production
- development
- chat_only
webhook:
build:
context: .
dockerfile: docker/webhook/Dockerfile
restart: unless-stopped
environment:
- BOT_TOKEN=${BOT_TOKEN}
- DATABASE_URL=${DATABASE_URL}
- ADMIN_API_KEY=${ADMIN_API_KEY}
- LOGGING_LEVEL=${LOGGING_LEVEL:-INFO}
- PRODAMUS_TOKEN=${PRODAMUS_TOKEN}
ports:
- "8000:8089"
depends_on:
db:
condition: service_healthy
networks:
- docbot-network
profiles:
- production
- development
networks:
docbot-network:
driver: bridge
volumes:
db_data: