services: postgres: image: postgres:15-alpine restart: always environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=sentencease ports: - "5432:5432" volumes: - ./.postgres-data:/var/lib/postgresql/data - ./backend/db/migrations:/docker-entrypoint-initdb.d backend: build: context: . dockerfile: Dockerfile restart: always ports: - "8080:8080" environment: - DATABASE_URL=postgres://user:password@postgres:5432/sentencease?sslmode=disable - JWT_SECRET_KEY=supersecretjwtkey depends_on: - postgres frontend: build: context: . dockerfile: frontend/Dockerfile.frontend args: VITE_API_URL: http://localhost:8080/api/v1 ports: - "5173:80" volumes: - ./frontend:/app - /app/node_modules depends_on: - backend