version: "3" services: web: image: quetz_dev_image container_name: quetz-web ports: - "8000:8000" build: context: . dockerfile: ./docker/Dockerfile environment: - HTTPX_LOG_LEVEL=TRACE command: [ "sh", "-c", "./docker/wait-for-postgres.sh database && quetz start /quetz-deployment --host 0.0.0.0 --port 8000 --reload", ] depends_on: - database - init-db volumes: - .:/code - quetz_deployment:/quetz-deployment env_file: - docker/postgres.env init-db: image: quetz_dev_image command: [ "sh", "-c", "./docker/wait-for-postgres.sh database && quetz create /quetz-deployment --copy-conf /code/docker/docker_config.toml --exists-ok && quetz init-db /quetz-deployment", ] depends_on: - database volumes: - .:/code - quetz_deployment:/quetz-deployment env_file: - docker/postgres.env database: image: postgres volumes: - ./docker/postgres.conf:/etc/postgresql/postgresql.conf env_file: - docker/postgres.env prometheus: image: prom/prometheus volumes: - ./docker/prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana ports: - 3000:3000 volumes: - ./docker/graphana_datasources.yml:/etc/grafana/provisioning/datasources/datasource.yaml env_file: - docker/grafana.env jupyterhub: build: context: docker dockerfile: Dockerfile.jupyterhub command: jupyterhub --debug ports: - 8001:8000 nginx: image: nginx:stable container_name: quetz-nginx entrypoint: ["nginx", "-g", "daemon off;"] ports: - "8080:8080" depends_on: - web volumes: - ./docker/nginx.conf:/etc/nginx/nginx.conf - quetz_deployment:/quetz-deployment volumes: quetz_deployment: