services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: stripstream POSTGRES_USER: stripstream POSTGRES_PASSWORD: stripstream ports: - "6432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U stripstream -d stripstream"] interval: 10s timeout: 5s retries: 5 api: build: context: . dockerfile: apps/api/Dockerfile env_file: - .env ports: - "7080:7080" volumes: - ${LIBRARIES_HOST_PATH:-./libraries}:/libraries - ${THUMBNAILS_HOST_PATH:-./data/thumbnails}:/data/thumbnails depends_on: postgres: condition: service_healthy healthcheck: test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:7080/health"] interval: 10s timeout: 5s retries: 5 indexer: build: context: . dockerfile: apps/indexer/Dockerfile env_file: - .env ports: - "7081:7081" volumes: - ${LIBRARIES_HOST_PATH:-./libraries}:/libraries - ${THUMBNAILS_HOST_PATH:-./data/thumbnails}:/data/thumbnails depends_on: api: condition: service_healthy postgres: condition: service_healthy healthcheck: test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:7081/health"] interval: 10s timeout: 5s retries: 5 backoffice: build: context: . dockerfile: apps/backoffice/Dockerfile env_file: - .env environment: - PORT=7082 - HOST=0.0.0.0 ports: - "7082:7082" depends_on: api: condition: service_healthy healthcheck: test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:7082/health"] interval: 10s timeout: 5s retries: 5 volumes: postgres_data: