version: "3.8" services: looking-frontend: image: git.mifi.dev:12023/mifi/pfosi-looking-frontend:latest container_name: looking-frontend restart: unless-stopped environment: - NODE_ENV=production networks: - marina-net labels: - "traefik.enable=true" - "traefik.http.routers.looking-frontend.rule=Host(`pfosi.mifi.dev`)" - "traefik.http.routers.looking-frontend.tls=true" - "traefik.http.routers.looking-frontend.tls.certresolver=letsencrypt" - "traefik.http.services.looking-frontend.loadbalancer.server.port=80" - "traefik.docker.network=marina-net" looking-backend: image: git.mifi.dev:12023/mifi/pfosi-looking-backend:latest container_name: looking-backend restart: unless-stopped environment: - NODE_ENV=production - PORT=3069 - MONGODB_URI=mongodb://mongo:27017/urge - JWT_SECRET=${JWT_SECRET} - GOOGLE_MAPS_API_KEY=${GOOGLE_MAPS_API_KEY} - MAIL_HOST=${MAIL_HOST} - MAIL_PORT=${MAIL_PORT:-587} - MAIL_USER=${MAIL_USER} - MAIL_PASS=${MAIL_PASS} networks: - backend-net - marina-net depends_on: mongo: condition: service_healthy volumes: - api_images:/app/src/images labels: - "traefik.enable=true" - "traefik.http.routers.looking-backend.rule=Host(`api.pfosi.mifi.dev`)" - "traefik.http.routers.looking-backend.tls=true" - "traefik.http.routers.looking-backend.tls.certresolver=letsencrypt" - "traefik.http.services.looking-backend.loadbalancer.server.port=3069" - "traefik.docker.network=marina-net" - "traefik.http.routers.looking-backend.middlewares=api-cors" - "traefik.http.middlewares.api-cors.headers.accesscontrolallowmethods=GET,OPTIONS,PUT,POST,DELETE,PATCH" - "traefik.http.middlewares.api-cors.headers.accesscontrolalloworiginlist=https://pfosi.mifi.dev" - "traefik.http.middlewares.api-cors.headers.accesscontrolallowcredentials=true" - "traefik.http.middlewares.api-cors.headers.accesscontrolallowheaders=Origin,X-Requested-With,Content-Type,Accept,Authorization,Cache-Control" mongo: image: mongo:4.4 container_name: looking-mongo restart: unless-stopped environment: - MONGO_INITDB_DATABASE=urge - MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER:-admin} - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD:-password} networks: - backend-net volumes: - mongo_data:/data/db - ./backend/data:/docker-entrypoint-initdb.d:ro healthcheck: test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/urge --quiet interval: 30s timeout: 10s retries: 3 start_period: 40s mongo-express: image: mongo-express:latest container_name: looking-mongo-express restart: unless-stopped environment: - ME_CONFIG_MONGODB_SERVER=mongo - ME_CONFIG_MONGODB_PORT=27017 - ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USER:-admin} - ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD:-password} - ME_CONFIG_BASICAUTH_USERNAME=${MONGO_EXPRESS_USER:-admin} - ME_CONFIG_BASICAUTH_PASSWORD=${MONGO_EXPRESS_PASSWORD:-password} networks: - backend-net - marina-net depends_on: - mongo labels: - "traefik.enable=true" - "traefik.http.routers.mongo-express.rule=Host(`mongo.pfosi.mifi.dev`)" - "traefik.http.routers.mongo-express.tls=true" - "traefik.http.routers.mongo-express.tls.certresolver=letsencrypt" - "traefik.http.services.mongo-express.loadbalancer.server.port=8081" - "traefik.docker.network=marina-net" volumes: mongo_data: api_images: networks: backend-net: driver: bridge marina-net: external: true