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>
This commit is contained in:
MichaelandClaude Haiku 4.5 committed 2026-04-16 10:43:06 +02:00
1 parent a8787857b5
commit 1822ab1afe
9 files changed
+158 -481

No files matched your search

+5 -17
View File
@@ -19,16 +19,17 @@ services:
networks:
- podcastic
backend:
app:
build:
context: ./backend
context: .
dockerfile: Dockerfile
container_name: podcastic-backend
container_name: podcastic
restart: unless-stopped
ports:
- "5000:5000"
- "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}
@@ -42,19 +43,6 @@ services:
networks:
- podcastic
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: podcastic-frontend
restart: unless-stopped
ports:
- "3579:3579"
depends_on:
- backend
networks:
- podcastic
volumes:
mongodb_data:
redis_data: