59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:latest
|
|
container_name: postgres_ticket
|
|
restart: unless-stopped
|
|
ports:
|
|
- 5432:5432
|
|
environment:
|
|
POSTGRES_PASSWORD: tickets
|
|
POSTGRES_DB: system_data
|
|
volumes:
|
|
- pg_data:/var/lib/postgresql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 5
|
|
|
|
# Full application (frontend + backend + nginx)
|
|
# Usage: docker compose --profile full up --build
|
|
app:
|
|
profiles: ["full"]
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile
|
|
container_name: ticketsystem
|
|
restart: unless-stopped
|
|
ports:
|
|
- 8080:80
|
|
environment:
|
|
DATABASE_URL: postgres://postgres:tickets@postgres:5432/system_data
|
|
TOKEN_SECRET: 160257c8c5ff2298363529e963a5901d2efa6d6ae67d634487c4d2bbc41c533f
|
|
ORIGIN: http://localhost:8080
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
# Backend only (API server)
|
|
# Usage: docker compose --profile backend up --build
|
|
backend:
|
|
profiles: ["backend"]
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile.backend
|
|
container_name: ticketsystem-backend
|
|
restart: unless-stopped
|
|
ports:
|
|
- 8001:8001
|
|
environment:
|
|
DATABASE_URL: postgres://postgres:tickets@postgres:5432/system_data
|
|
TOKEN_SECRET: 160257c8c5ff2298363529e963a5901d2efa6d6ae67d634487c4d2bbc41c533f
|
|
ORIGIN: http://localhost:8000
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
pg_data:
|