Files
podcastic/docker-compose.yml
T
MichaelandClaude Haiku 4.5 1822ab1afe fix: single container without nginx — Express serves frontend
- Remove separate backend/ and frontend/ Dockerfiles
- Add root Dockerfile (3-stage: frontend build → backend build → runtime)
- Frontend static files served by Express from /public
- Simplify docker-compose to 3 services: mongodb, redis, app (port 3579)
- Fix vite proxy not to strip /api prefix from paths
- Default API URL to relative /api instead of hardcoded localhost

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-16 10:43:06 +02:00

53 lines
1.0 KiB
YAML

version: '3.8'
services:
mongodb:
image: mongo:latest
container_name: podcastic-mongodb
restart: unless-stopped
volumes:
- mongodb_data:/data/db
networks:
- podcastic
redis:
image: redis:7-alpine
container_name: podcastic-redis
restart: unless-stopped
volumes:
- redis_data:/data
networks:
- podcastic
app:
build:
context: .
dockerfile: Dockerfile
container_name: podcastic
restart: unless-stopped
ports:
- "3579:3579"
environment:
NODE_ENV: production
PORT: 3579
MONGODB_URI: mongodb://mongodb:27017/podcastic
REDIS_URL: redis://redis:6379
JWT_SECRET: ${JWT_SECRET:-change_me_in_production}
JWT_EXPIRES_IN: 7d
JWT_REFRESH_EXPIRES_IN: 30d
PODCAST_INDEX_API_KEY: ${PODCAST_INDEX_API_KEY:-}
PODCAST_INDEX_API_SECRET: ${PODCAST_INDEX_API_SECRET:-}
depends_on:
- mongodb
- redis
networks:
- podcastic
volumes:
mongodb_data:
redis_data:
networks:
podcastic:
driver: bridge