51 lines
1.2 KiB
YAML
51 lines
1.2 KiB
YAML
services:
|
|
db:
|
|
image: postgres:15-alpine
|
|
container_name: blog_db
|
|
restart: always
|
|
environment:
|
|
POSTGRES_USER: josemi
|
|
POSTGRES_PASSWORD: josemivi
|
|
POSTGRES_DB: blog_db
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
ports:
|
|
- "9003:5432"
|
|
|
|
backend:
|
|
build: ./backend
|
|
container_name: blog_backend
|
|
restart: always
|
|
ports:
|
|
- "9002:9002"
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
# IMPORTANTE: Usamos 'db' como host porque Docker los conecta por nombre
|
|
DATABASE_URL: postgres://josemi:josemivi@db:5432/blog_db
|
|
JWT_SECRET: secreto_super_seguro_de_josemi
|
|
PORT: 9002
|
|
volumes:
|
|
- ./backend:/app
|
|
# Esta línea protege tus librerías instaladas en el build
|
|
- /app/node_modules
|
|
# Forzamos que use el comando de desarrollo definido en tu package.json
|
|
command: npm run dev
|
|
|
|
frontend:
|
|
build: ./frontend
|
|
container_name: blog_frontend
|
|
restart: always
|
|
ports:
|
|
- "9001:3000"
|
|
depends_on:
|
|
- backend
|
|
environment:
|
|
NEXT_PUBLIC_API_URL: http://localhost:9001
|
|
volumes:
|
|
- ./frontend:/app
|
|
- /app/node_modules
|
|
|
|
volumes:
|
|
postgres_data: |