services: jupyterhub: container_name: ${COMPOSE_PROJECT_NAME}-jupyterhub environment: - POSTGRES_HOST=postgres - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - JUPYTERHUB_CRYPT_KEY=${JUPYTERHUB_CRYPT_KEY} - DOCKER_NETWORK_NAME=${DOCKER_NETWORK_NAME} - NBGRADER_DB_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${NBGRADER_DB} ports: - ${JUPYTERHUB_PORT:-8000}:8000 volumes: - ./data/jupyter:/srv/jupyterhub/data networks: - jupyterhub-network depends_on: - postgres postgres: container_name: ${COMPOSE_PROJECT_NAME}-postgres ports: - ${POSTGRES_PORT:-5432}:5432 volumes: - postgres_data:/var/lib/postgresql/data networks: - jupyterhub-network nginx: container_name: ${COMPOSE_PROJECT_NAME}-nginx ports: - ${NGINX_HTTP_PORT:-80}:80 - ${NGINX_HTTPS_PORT:-443}:443 networks: - jupyterhub-network depends_on: - jupyterhub