#----------------------------------------------------------------------------------------------- # NEXTFLOW SERVICES #----------------------------------------------------------------------------------------------- services: nextflow_telemetry_db: image: postgres:16-alpine container_name: nextflow_telemetry_db profiles: - db - api - all environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: cmdg_dev ports: - "5432:5432" volumes: - nextflow_db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 networks: - telemetry_network nextflow_telemetry_api: build: . container_name: nextflow_telemetry_api profiles: - api - all environment: SQLALCHEMY_URI: ${SQLALCHEMY_URI} env_file: - .env ports: - "8000:8000" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - telemetry_network nextflow_database_admin: image: dpage/pgadmin4:9.1 container_name: nextflow_database_admin profiles: - admin - all environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} PGADMIN_CONFIG_SERVER_MODE: "True" PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False" env_file: - .env ports: - 8081:80 volumes: - nextflow_pgadmin_data:/var/lib/pgadmin healthcheck: test: ["CMD", "nc", "-z", "localhost", "80"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - telemetry_network volumes: nextflow_db_data: name: nextflow_telemetry_db_data nextflow_pgadmin_data: name: nextflow_telemetry_pgadmin_data networks: telemetry_network: name: nextflow_telemetry_network driver: bridge