services: erowid-bot: build: . container_name: erowid-bot restart: unless-stopped env_file: .env ports: - "8421:8000" depends_on: erowid-db: condition: service_healthy networks: - default - traefik-public - ai-internal labels: - "traefik.enable=true" - "traefik.http.routers.erowid-bot.rule=Host(`erowid.psilo-cyber.net`)" - "traefik.http.services.erowid-bot.loadbalancer.server.port=8000" volumes: - ./app:/app/app erowid-db: image: pgvector/pgvector:pg16 container_name: erowid-db restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-erowid} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-erowid} POSTGRES_DB: ${POSTGRES_DB:-erowid} volumes: - erowid-db-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U erowid"] interval: 5s timeout: 5s retries: 5 networks: - default volumes: erowid-db-data: networks: traefik-public: external: true ai-internal: external: true