Jucundus/docker-compose.yml

65 lines
1.9 KiB
YAML

version: '3.7'
services:
db:
image: mongo
volumes:
- ./data:/data/db
networks:
- backend-network
backend:
image: node:20
restart: always
hostname: jucundus-api.saucisse.ninja
working_dir: /backend
volumes:
- ./backend:/backend
- ./.Keys.js:/backend/.Keys.js
- ./config.js:/backend/config.js
ports:
- "3000"
command: ["sh", "-c", "npm install && npm run start"]
depends_on:
- db
networks:
- backend-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.jucundus-api.rule=Host(`jucundus-api.saucisse.ninja`)"
- "traefik.http.routers.jucundus-api.entrypoints=websecure"
- "traefik.http.routers.jucundus-api.tls=true"
- "traefik.http.routers.jucundus-api.tls.certresolver=myresolver"
- "traefik.http.services.jucundus-api.loadbalancer.server.port=3000"
client:
image: nginx:latest
restart: always
hostname: jucundus.saucisse.ninja
ports:
- "80"
volumes:
- ./client/dist/angular-material-template:/usr/share/nginx/html
- ./client/nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- backend
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.redirecthttps.redirectscheme.scheme=https"
- "traefik.http.middlewares.redirecthttps.redirectscheme.permanent=true"
- "traefik.http.routers.jucundus-http.rule=Host(`jucundus.saucisse.ninja`)"
- "traefik.http.routers.jucundus-http.middlewares=redirecthttps"
- "traefik.http.routers.jucundus.rule=Host(`jucundus.saucisse.ninja`)"
- "traefik.http.routers.jucundus.tls=true"
- "traefik.http.routers.jucundus.tls.certresolver=myresolver"
- "traefik.http.routers.jucundus.tls.domains[0].main=jucundus.saucisse.ninja"
- "traefik.http.services.jucundus.loadbalancer.server.port=80"
networks:
backend-network:
driver: bridge