version: '3.8' services: redis: image: redis:7-alpine container_name: chuckie-redis restart: unless-stopped networks: - chuckie backend: build: context: ./repo dockerfile: Dockerfile.backend container_name: chuckie-backend restart: unless-stopped ports: - "127.0.0.1:9200:8678" depends_on: - redis environment: - PORT=8678 - HOST=0.0.0.0 - ENV=${ENV:-production} - FRONTEND_URL=https://chuckie.coppertone.tech - SESSION_SECRET=${SESSION_SECRET} - ENCRYPTION_KEY=${ENCRYPTION_KEY} - REDIS_ADDR=redis:6379 - REDIS_PASSWORD= - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - GOOGLE_REDIRECT_URL=${GOOGLE_REDIRECT_URL} - META_CLIENT_ID=${META_CLIENT_ID} - META_CLIENT_SECRET=${META_CLIENT_SECRET} - META_REDIRECT_URL=${META_REDIRECT_URL} - TIKTOK_CLIENT_KEY=${TIKTOK_CLIENT_KEY} - TIKTOK_CLIENT_SECRET=${TIKTOK_CLIENT_SECRET} - TIKTOK_REDIRECT_URL=${TIKTOK_REDIRECT_URL} - OPENAI_API_KEY=${OPENAI_API_KEY} - OPENAI_MODEL=${OPENAI_MODEL:-gpt-4-turbo-preview} - CANVA_CLIENT_ID=${CANVA_CLIENT_ID} - CANVA_CLIENT_SECRET=${CANVA_CLIENT_SECRET} - CANVA_WEBHOOK_SECRET=${CANVA_WEBHOOK_SECRET} - USER_CONFIG_DIR=/app/config/users - WORKFLOW_CONFIG_DIR=/app/config/workflows - TEMP_DIR=/app/tmp - LOG_LEVEL=${LOG_LEVEL:-info} - LOG_FORMAT=${LOG_FORMAT:-json} volumes: - ./repo/config:/app/config - ./tmp:/app/tmp - ./logs:/app/logs networks: - chuckie frontend: build: context: ./repo dockerfile: Dockerfile.frontend container_name: chuckie-frontend restart: unless-stopped ports: - "127.0.0.1:9201:8677" environment: - VITE_API_URL=https://chuckie.coppertone.tech/api depends_on: - backend networks: - chuckie networks: chuckie: driver: bridge volumes: config: tmp: logs: