version: '3.8' services: auth-service_mongo: container_name: ${CONTAINER_PREFIX}-auth-service_mongo networks: - auth-backend - docknet volumes: - auth-db:/data/db - auth-db:/data/configdb restart: unless-stopped image: mongo:${MONGO_VERSION} auth-service: container_name: ${CONTAINER_PREFIX}-auth-service environment: - DB_HOST=${CONTAINER_PREFIX}-auth-service_mongo - DB_NAME=${DB_NAME} - DB_PASSWORD=${DB_PASSWORD} - DB_USERNAME=${DB_USERNAME} - DEFAULT_TOKEN_DAYS=${DEFAULT_TOKEN_DAYS} - JWT_AUDIENCE=${JWT_AUDIENCE} - JWT_ISSUER=${JWT_ISSUER} - JWT_SECRET=${JWT_SECRET} - LOGIN_ROUTE=${LOGIN_ROUTE} - LOGIN_VALID_TIME=${LOGIN_VALID_TIME} - PORT=${PORT} - RESET_ROUTE=${RESET_ROUTE} - RESET_VALID_MINUTES=${RESET_VALID_MINUTES} - ROUTE_PREFIX=${ROUTE_PREFIX} - SESSION_KEY=${SESSION_KEY} labels: - 'traefik.enable=true' - 'traefik.docker.network=docknet' - 'traefik.http.routers.auth.rule=Host(`${HOST}`) && PathPrefix(`${ROUTE_PREFIX}`)' - 'traefik.http.routers.auth.entrypoints=websecure' - 'traefik.http.routers.auth.tls=true' - 'traefik.http.routers.auth.tls.certresolver=letsencrypt' - 'traefik.http.routers.auth.service=auth-service' - 'traefik.http.services.auth-service.loadbalancer.server.port=${PORT}' networks: - auth-backend - docknet restart: unless-stopped depends_on: - auth-service_mongo image: git.mifi.dev/mifi/auth-service:latest networks: auth-backend: driver: bridge external: false docknet: name: docknet external: true volumes: auth-db: external: true