78 lines
1.6 KiB
YAML
78 lines
1.6 KiB
YAML
|
|
version: "3.8"
|
||
|
|
|
||
|
|
services:
|
||
|
|
# ===============================
|
||
|
|
# MongoDB
|
||
|
|
# ===============================
|
||
|
|
mongo:
|
||
|
|
image: mongo:6.0
|
||
|
|
container_name: meeting-mongo
|
||
|
|
restart: unless-stopped
|
||
|
|
environment:
|
||
|
|
MONGO_INITDB_ROOT_USERNAME: root
|
||
|
|
MONGO_INITDB_ROOT_PASSWORD: example123
|
||
|
|
volumes:
|
||
|
|
- mongo_data:/data/db
|
||
|
|
networks:
|
||
|
|
- meeting-net
|
||
|
|
|
||
|
|
# ===============================
|
||
|
|
# Backend
|
||
|
|
# ===============================
|
||
|
|
backend:
|
||
|
|
build:
|
||
|
|
context: ./meeting-backend
|
||
|
|
container_name: meeting-backend
|
||
|
|
restart: unless-stopped
|
||
|
|
env_file:
|
||
|
|
- ./meeting-backend/.env
|
||
|
|
environment:
|
||
|
|
- MONGO_URI=mongodb://root:example123@mongo:27017/meetingDB?authSource=admin
|
||
|
|
- CLIENT_URL=https://bkmeeting.soict.io
|
||
|
|
- PORT=5000
|
||
|
|
expose:
|
||
|
|
- "5000"
|
||
|
|
depends_on:
|
||
|
|
- mongo
|
||
|
|
networks:
|
||
|
|
- meeting-net
|
||
|
|
|
||
|
|
# ===============================
|
||
|
|
# Frontend
|
||
|
|
# ===============================
|
||
|
|
frontend:
|
||
|
|
build:
|
||
|
|
context: ./meeting-frontend
|
||
|
|
container_name: meeting-frontend
|
||
|
|
restart: unless-stopped
|
||
|
|
expose:
|
||
|
|
- "80"
|
||
|
|
networks:
|
||
|
|
- meeting-net
|
||
|
|
|
||
|
|
# ===============================
|
||
|
|
# Nginx Reverse Proxy (HTTPS)
|
||
|
|
# ===============================
|
||
|
|
nginx:
|
||
|
|
image: nginx:stable-alpine
|
||
|
|
container_name: meeting-nginx
|
||
|
|
restart: unless-stopped
|
||
|
|
ports:
|
||
|
|
- "80:80"
|
||
|
|
- "443:443"
|
||
|
|
volumes:
|
||
|
|
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
||
|
|
- ./certs:/etc/letsencrypt/live/bkmeeting.soict.io:ro
|
||
|
|
depends_on:
|
||
|
|
- backend
|
||
|
|
- frontend
|
||
|
|
networks:
|
||
|
|
- meeting-net
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
mongo_data:
|
||
|
|
|
||
|
|
networks:
|
||
|
|
meeting-net:
|
||
|
|
driver: bridge
|