version: '3.8' services: auth-service_mongo: container_name: ${CONTAINER_PREFIX:package}-auth-service_mongo env_file: .env environment: - ALLOW_EMPTY_PASSWORD=yes - MONGO_INITDB_ROOT_USERNAME=${DB_USERNAME} - MONGO_INITDB_ROOT_PASSWORD=${DB_PASSWORD} - MONGO_INITDB_DATABASE=${DB_NAME} networks: - docknet volumes: - '/volume1/docker/labs/auth/mongo:/data/db' restart: unless-stopped image: mongo auth-service: env_file: .env build: . container_name: ${CONTAINER_PREFIX:package}-auth-service environment: - PORT=${PORT} - ROUTE_PREFIX=${ROUTE_PREFIX} - LOGIN_ROUTE=${LOGIN_ROUTE} - RESET_ROUTE=${RESET_ROUTE} - DB_HOST=${CONTAINER_PREFIX:package}-auth-service_mongo - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_NAME=${DB_NAME} - SESSION_KEY=${SESSION_KEY} - JWT_AUDIENCE=${JWT_AUDIENCE} - JWT_ISSUER=${JWT_ISSUER} - JWT_SECRET=${JWT_SECRET} - LOGIN_VALID_TIME=${LOGIN_VALID_TIME} - RESET_VALID_MINUTES=${RESET_VALID_MINUTES} - DEFAULT_TOKEN_DAYS=${DEFAULT_TOKEN_DAYS} labels: - 'traefik.enable=true' - 'traefik.http.routers.grow.rule=Host(`${HOST}`) && Path(`${ROUTE_PREFIX}`)' - 'traefik.http.routers.grow.entrypoints=websecure' - 'traefik.http.routers.grow.tls=true' - 'traefik.http.routers.grow.tls.certresolver=letsencrypt' - 'traefik.http.routers.grow.service=grow-service' - 'traefik.http.services.grow-service.loadbalancer.server.port=${PORT}' networks: - docknet restart: unless-stopped image: node links: - auth-service_mongo:${CONTAINER_PREFIX:package}-auth-service_mongo depends_on: - auth-service_mongo networks: docknet: name: docknet