Add monorepo configuration and development environment
This commit is contained in:
107
docker-compose.yml
Normal file
107
docker-compose.yml
Normal file
@@ -0,0 +1,107 @@
|
||||
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
|
||||
Reference in New Issue
Block a user