2026-02-09 16:56:12 +07:00
|
|
|
services:
|
|
|
|
|
# ============================================
|
|
|
|
|
# Application Services
|
|
|
|
|
# ============================================
|
|
|
|
|
|
|
|
|
|
# Backend API
|
|
|
|
|
backend:
|
2026-02-11 10:20:35 +07:00
|
|
|
image: ${GITEA_INSTANCE}/chamomind/elearning-backend:${BACKEND_TAG}
|
2026-02-09 16:56:12 +07:00
|
|
|
container_name: elearning-backend
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
ports:
|
2026-02-11 10:20:35 +07:00
|
|
|
- "20901:4000"
|
2026-02-09 16:56:12 +07:00
|
|
|
env_file:
|
|
|
|
|
- .env
|
2026-02-11 10:20:35 +07:00
|
|
|
environment:
|
|
|
|
|
- NODE_ENV=production
|
2026-02-09 16:56:12 +07:00
|
|
|
networks:
|
|
|
|
|
- elearning-shared
|
|
|
|
|
|
|
|
|
|
# Frontend Learner
|
2026-02-11 10:20:35 +07:00
|
|
|
learner:
|
|
|
|
|
image: ${GITEA_INSTANCE}/chamomind/elearning-learner:${FRONTEND_TAG}
|
2026-02-10 16:35:58 +07:00
|
|
|
container_name: elearning-learner
|
2026-02-09 16:56:12 +07:00
|
|
|
restart: unless-stopped
|
|
|
|
|
ports:
|
2026-02-10 16:35:58 +07:00
|
|
|
- "20902:3000"
|
2026-02-11 10:20:35 +07:00
|
|
|
environment:
|
|
|
|
|
- PORT=${PORT_MANG:-3000}
|
2026-02-09 16:56:12 +07:00
|
|
|
env_file:
|
|
|
|
|
- .env
|
|
|
|
|
depends_on:
|
|
|
|
|
- backend
|
|
|
|
|
networks:
|
|
|
|
|
- elearning-shared
|
|
|
|
|
|
|
|
|
|
# Frontend Management
|
2026-02-11 10:20:35 +07:00
|
|
|
management:
|
|
|
|
|
image: ${GITEA_INSTANCE}/chamomind/elearning-management:${MANAGEMENT_TAG}
|
2026-02-10 16:35:58 +07:00
|
|
|
container_name: elearning-management
|
2026-02-09 16:56:12 +07:00
|
|
|
restart: unless-stopped
|
|
|
|
|
ports:
|
2026-02-10 16:35:58 +07:00
|
|
|
- "20903:3001"
|
2026-02-11 10:20:35 +07:00
|
|
|
environment:
|
|
|
|
|
- PORT=${PORT_MANG:-3001}
|
2026-02-09 16:56:12 +07:00
|
|
|
env_file:
|
|
|
|
|
- .env
|
|
|
|
|
depends_on:
|
|
|
|
|
- backend
|
|
|
|
|
networks:
|
|
|
|
|
- elearning-shared
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
elearning-shared:
|
2026-02-10 13:28:08 +07:00
|
|
|
external: true
|