- Introduced a new `docker-compose.yaml` file to define services for the application. - Configured the `web` service with environment variables for production and port mapping. - Added a `code-interpreter` service with its own environment variable and volume setup. - Included a `redis` service using the Alpine image with persistent volume for data storage. - Ensured proper dependency management between services.
60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- XAI_API_KEY=${XAI_API_KEY}
|
|
- UPSTASH_REDIS_REST_URL=${UPSTASH_REDIS_REST_URL}
|
|
- UPSTASH_REDIS_REST_TOKEN=${UPSTASH_REDIS_REST_TOKEN}
|
|
- ELEVENLABS_API_KEY=${ELEVENLABS_API_KEY}
|
|
- TAVILY_API_KEY=${TAVILY_API_KEY}
|
|
- EXA_API_KEY=${EXA_API_KEY}
|
|
- TMDB_API_KEY=${TMDB_API_KEY}
|
|
- YT_ENDPOINT=${YT_ENDPOINT}
|
|
- FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY}
|
|
- OPENWEATHER_API_KEY=${OPENWEATHER_API_KEY}
|
|
- SANDBOX_TEMPLATE_ID=${SANDBOX_TEMPLATE_ID}
|
|
- GOOGLE_MAPS_API_KEY=${GOOGLE_MAPS_API_KEY}
|
|
- MAPBOX_ACCESS_TOKEN=${MAPBOX_ACCESS_TOKEN}
|
|
- AZURE_TRANSLATOR_KEY=${AZURE_TRANSLATOR_KEY}
|
|
- AZURE_TRANSLATOR_LOCATION=${AZURE_TRANSLATOR_LOCATION}
|
|
- AZURE_RESOURCE_NAME=${AZURE_RESOURCE_NAME}
|
|
- AZURE_API_KEY=${AZURE_API_KEY}
|
|
- TRIPADVISOR_API_KEY=${TRIPADVISOR_API_KEY}
|
|
- AVIATION_STACK_API_KEY=${AVIATION_STACK_API_KEY}
|
|
- CRON_SECRET=${CRON_SECRET}
|
|
- BLOB_READ_WRITE_TOKEN=${BLOB_READ_WRITE_TOKEN}
|
|
- NEXT_PUBLIC_MAPBOX_TOKEN=${NEXT_PUBLIC_MAPBOX_TOKEN}
|
|
- NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY}
|
|
- NEXT_PUBLIC_POSTHOG_HOST=${NEXT_PUBLIC_POSTHOG_HOST}
|
|
- NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=${NEXT_PUBLIC_GOOGLE_MAPS_API_KEY}
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
depends_on:
|
|
- code-interpreter
|
|
|
|
code-interpreter:
|
|
build:
|
|
context: .
|
|
dockerfile: e2b.Dockerfile
|
|
environment:
|
|
- E2B_API_KEY=${E2B_API_KEY}
|
|
volumes:
|
|
- ./certificates:/app/certificates
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
|
|
volumes:
|
|
redis_data: |