2026-01-02 06:18:48 +07:00
|
|
|
version: '3.8'
|
|
|
|
|
|
|
|
|
|
services:
|
2026-01-06 21:38:54 +07:00
|
|
|
elemes:
|
2026-04-13 17:32:44 +07:00
|
|
|
build: .
|
2026-04-13 07:34:44 +07:00
|
|
|
image: lms-c-backend:latest
|
2026-01-02 06:18:48 +07:00
|
|
|
volumes:
|
2026-01-04 13:27:06 +07:00
|
|
|
- ../content:/app/content
|
2026-01-04 18:16:58 +07:00
|
|
|
- ../tokens_siswa.csv:/app/tokens.csv
|
2026-01-12 12:03:23 +07:00
|
|
|
- ../assets:/app/assets
|
2026-01-06 21:38:54 +07:00
|
|
|
env_file:
|
|
|
|
|
- ../.env
|
2026-01-12 12:03:23 +07:00
|
|
|
|
|
|
|
|
# production
|
2026-03-26 13:52:59 +07:00
|
|
|
command: gunicorn --config gunicorn.conf.py "app:create_app()"
|
2026-01-12 12:03:23 +07:00
|
|
|
|
|
|
|
|
# debug
|
2026-03-26 13:52:59 +07:00
|
|
|
# command: python app.py
|
2026-01-12 12:03:23 +07:00
|
|
|
|
2026-03-25 09:39:51 +07:00
|
|
|
elemes-frontend:
|
2026-04-13 17:32:44 +07:00
|
|
|
build: ./frontend
|
2026-04-13 07:34:44 +07:00
|
|
|
image: lms-c-frontend:latest
|
2026-04-20 13:43:45 +07:00
|
|
|
# ports:
|
|
|
|
|
# - 3000:3000
|
2026-03-25 09:39:51 +07:00
|
|
|
environment:
|
|
|
|
|
- ORIGIN=http://localhost:3000
|
2026-03-26 13:52:59 +07:00
|
|
|
- API_BACKEND=http://elemes:5000
|
2026-03-27 16:41:57 +07:00
|
|
|
- PUBLIC_APP_BAR_TITLE=${APP_BAR_TITLE}
|
|
|
|
|
- PUBLIC_COPYRIGHT_TEXT=${COPYRIGHT_TEXT}
|
|
|
|
|
- PUBLIC_PAGE_TITLE_SUFFIX=${PAGE_TITLE_SUFFIX}
|
2026-03-31 12:08:42 +07:00
|
|
|
- PUBLIC_CURSOR_OFFSET_Y=${CURSOR_OFFSET_Y:-50}
|
2026-03-25 09:39:51 +07:00
|
|
|
depends_on:
|
|
|
|
|
- elemes
|
|
|
|
|
|
2026-04-09 10:51:36 +07:00
|
|
|
velxio:
|
2026-04-13 07:34:44 +07:00
|
|
|
image: lms-c-velxio:latest
|
2026-04-13 17:32:44 +07:00
|
|
|
build:
|
|
|
|
|
context: ./velxio
|
|
|
|
|
dockerfile: Dockerfile.standalone
|
|
|
|
|
args:
|
|
|
|
|
VITE_BASE_PATH: /velxio/
|
|
|
|
|
VITE_API_BASE: /velxio/api
|
|
|
|
|
ENABLE_ESP32: ${ENABLE_ESP32:-0}
|
2026-04-09 10:51:36 +07:00
|
|
|
environment:
|
|
|
|
|
- SECRET_KEY=embed-only-no-auth-needed
|
|
|
|
|
- DATABASE_URL=sqlite+aiosqlite:////app/data/velxio.db
|
|
|
|
|
- DATA_DIR=/app/data
|
|
|
|
|
volumes:
|
|
|
|
|
- velxio-data:/app/data
|
|
|
|
|
- velxio-arduino-libs:/root/.arduino15
|
|
|
|
|
|
2026-01-06 21:38:54 +07:00
|
|
|
elemes-ts:
|
|
|
|
|
image: docker.io/tailscale/tailscale:latest
|
|
|
|
|
hostname: ${ELEMES_HOST}
|
2026-01-02 06:18:48 +07:00
|
|
|
environment:
|
2026-01-06 21:38:54 +07:00
|
|
|
- TS_AUTHKEY=${TS_AUTHKEY}
|
|
|
|
|
- TS_SERVE_CONFIG=/config/sinau-c-tail.json
|
|
|
|
|
- TS_STATE_DIR=/var/lib/tailscale
|
|
|
|
|
- TS_USERSPACE=true
|
|
|
|
|
volumes:
|
2026-01-11 20:22:30 +07:00
|
|
|
- ../state:/var/lib/tailscale
|
2026-01-06 21:42:45 +07:00
|
|
|
- ./config:/config
|
2026-01-06 21:38:54 +07:00
|
|
|
- /dev/net/tun:/dev/net/tun
|
|
|
|
|
cap_add:
|
|
|
|
|
- net_admin
|
|
|
|
|
- sys_module
|
|
|
|
|
restart: unless-stopped
|
2026-03-25 09:39:51 +07:00
|
|
|
depends_on:
|
|
|
|
|
- elemes-frontend
|
2026-01-11 20:22:30 +07:00
|
|
|
env_file:
|
|
|
|
|
- ../.env
|
2026-01-06 21:38:54 +07:00
|
|
|
|
2026-04-09 10:51:36 +07:00
|
|
|
volumes:
|
|
|
|
|
velxio-data:
|
|
|
|
|
velxio-arduino-libs:
|
|
|
|
|
|
2026-01-06 21:38:54 +07:00
|
|
|
networks:
|
2026-03-26 13:52:59 +07:00
|
|
|
main_network:
|
2026-04-11 08:39:57 +07:00
|
|
|
driver: bridge
|
2026-04-20 13:43:45 +07:00
|
|
|
network_mode: service:elemes-ts
|