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: