elemes/podman-compose.yml

102 lines
2.5 KiB
YAML
Raw Normal View History

2026-01-02 06:18:48 +07:00
version: '3.8'
services:
elemes-ts:
image: docker.io/tailscale/tailscale:latest
hostname: ${ELEMES_HOST}
environment:
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_SERVE_CONFIG=/config/lms-tail.json
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=true
volumes:
- ../state:/var/lib/tailscale
- ./config:/config
- /dev/net/tun:/dev/net/tun
cap_add:
- net_admin
- sys_module
restart: unless-stopped
env_file:
- ../.env
2026-01-06 21:38:54 +07:00
elemes:
2026-04-13 17:32:44 +07:00
build: .
2026-05-01 09:09:45 +07:00
image: lms-backend:latest
network_mode: service:elemes-ts
2026-01-02 06:18:48 +07:00
volumes:
- ../content:/app/content:ro
- ../tokens_siswa.csv:/app/tokens.csv:rw
- ../assets:/app/assets:ro
2026-01-06 21:38:54 +07:00
env_file:
- ../.env
environment:
- COMPILER_WORKER_URL=http://127.0.0.1:8080/execute
- VELXIO_COMPILER_URL=http://127.0.0.1:80/api/compile/
restart: unless-stopped
depends_on:
- elemes-ts
2026-01-12 12:03:23 +07:00
# production
command: gunicorn --config gunicorn.conf.py "app:create_app()"
2026-01-12 12:03:23 +07:00
# debug
# command: python app.py
2026-01-12 12:03:23 +07:00
compiler-worker:
build: ./compiler_worker
2026-05-01 09:09:45 +07:00
image: lms-compiler-worker:latest
runtime: runsc # Enable gVisor
network_mode: service:elemes-ts
restart: unless-stopped
depends_on:
- elemes-ts
2026-03-25 09:39:51 +07:00
elemes-frontend:
2026-04-13 17:32:44 +07:00
build: ./frontend
2026-05-01 09:09:45 +07:00
image: lms-frontend:latest
# ports:
# - 3000:3000
network_mode: service:elemes-ts
2026-03-25 09:39:51 +07:00
environment:
- ORIGIN=http://localhost:3000
- API_BACKEND=http://127.0.0.1:5000
- PUBLIC_APP_BAR_TITLE=${APP_BAR_TITLE}
- PUBLIC_COPYRIGHT_TEXT=${COPYRIGHT_TEXT}
- PUBLIC_PAGE_TITLE_SUFFIX=${PAGE_TITLE_SUFFIX}
- PUBLIC_CURSOR_OFFSET_Y=${CURSOR_OFFSET_Y:-50}
restart: unless-stopped
2026-03-25 09:39:51 +07:00
depends_on:
- elemes-ts
2026-03-25 09:39:51 +07:00
- elemes
2026-04-09 10:51:36 +07:00
velxio:
2026-05-01 09:09:45 +07:00
image: lms-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
network_mode: service:elemes-ts
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
restart: unless-stopped
depends_on:
- elemes-ts
2026-04-09 10:51:36 +07:00
volumes:
- velxio-data:/app/data
- velxio-arduino-libs:/root/.arduino15
2026-05-01 09:09:45 +07:00
flowchart:
build: ./flowchart
image: lms-flowchart:latest
network_mode: service:elemes-ts
2026-01-06 21:38:54 +07:00
restart: unless-stopped
2026-03-25 09:39:51 +07:00
depends_on:
- elemes-ts
2026-01-06 21:38:54 +07:00
2026-04-09 10:51:36 +07:00
volumes:
velxio-data:
velxio-arduino-libs: