version: "3" services: postgres: image: ankane/pgvector:v0.5.0 restart: always environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB_NAME} env_file: - .env expose: - "${POSTGRES_PORT}" volumes: - ./src/assistant/data/dump.sql:/docker-entrypoint-initdb.d/dump.sql:ro networks: - backend_network api: build: context: ./src/assistant/ container_name: api image: fastapi_app restart: always env_file: - .env expose: - "${API_PORT}" depends_on: - postgres networks: - backend_network - api_network nginx: image: nginx:1.25.1 env_file: - .env ports: - "${NGINX_PORT}:${NGINX_PORT}" volumes: - ./src/assistant/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./src/assistant/nginx/templates:/etc/nginx/templates depends_on: - api networks: - api_network bot: image: "${BOT_IMAGE_NAME:-tg_bot-image}" container_name: "${BOT_CONTAINER_NAME:-tg_bot-container}" build: context: ./src/bot_aiogram/ restart: always env_file: - .env networks: - backend_network - api_network depends_on: - api redis: image: redis:7.0.11 restart: always env_file: - .env ports: - "127.0.0.1:${REDIS_PORT}:${REDIS_PORT}" command: redis-server --bind 0.0.0.0 --appendonly yes volumes: - redis_data:/data networks: - backend_network volumes: redis_data: postgres_data: networks: api_network: driver: bridge backend_network: driver: bridge