65 lines
1.9 KiB
YAML
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
|
|
|