services: nginx: build: context: ./nginx ports: - "1935:1935" # RTMP - "8080:8080" depends_on: - frontend - web_server networks: - app_network volumes: - user_data:/user_data web_server: build: context: ./web_server ports: - "5000:5000" networks: - app_network env_file: - .env environment: - FLASK_APP=blueprints.__init__ - FLASK_ENV=production volumes: - user_data:/web_server/user_data - database_data:/web_server/database frontend: build: context: ./frontend ports: - "5173" networks: - app_network environment: - VITE_API_URL=/api env_file: - .env depends_on: - web_server redis: image: "redis:alpine" ports: - "6379:6379" networks: - app_network celery: build: context: ./web_server command: celery -A celery_tasks.celery_app worker --loglevel=warning depends_on: - redis volumes: - .:/app - user_data:/web_server/user_data - database_data:/web_server/database networks: - app_network celery_beat: build: context: ./web_server command: celery -A celery_tasks.celery_app beat --loglevel=warning depends_on: - redis volumes: - .:/app - user_data:/web_server/user_data - database_data:/web_server/database networks: - app_network stripe-cli: image: stripe/stripe-cli container_name: stripe-cli command: - listen - --api-key - ${STRIPE_SECRET_KEY} - --forward-to - http://web_server:5000/api/stripe/webhook env_file: - web_server/.env networks: - app_network networks: app_network: driver: bridge volumes: user_data: driver: local database_data: driver: local