version: '3.8' services: elemes: build: . image: lms-c-backend:latest volumes: - ../content:/app/content:ro - ../tokens_siswa.csv:/app/tokens.csv:rw - ../assets:/app/assets:ro env_file: - ../.env environment: - COMPILER_WORKER_URL=http://compiler-worker:8080/execute networks: - main_network # production command: gunicorn --config gunicorn.conf.py "app:create_app()" # debug # command: python app.py compiler-worker: build: ./compiler_worker image: lms-c-compiler-worker:latest runtime: runsc # Enable gVisor networks: - main_network elemes-frontend: build: ./frontend image: lms-c-frontend:latest # ports: # - 3000:3000 environment: - ORIGIN=http://localhost:3000 - API_BACKEND=http://elemes: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} depends_on: - elemes velxio: image: lms-c-velxio:latest build: context: ./velxio dockerfile: Dockerfile.standalone args: VITE_BASE_PATH: /velxio/ VITE_API_BASE: /velxio/api ENABLE_ESP32: ${ENABLE_ESP32:-0} 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 elemes-ts: image: docker.io/tailscale/tailscale:latest hostname: ${ELEMES_HOST} environment: - TS_AUTHKEY=${TS_AUTHKEY} - TS_SERVE_CONFIG=/config/sinau-c-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 depends_on: - elemes-frontend env_file: - ../.env volumes: velxio-data: velxio-arduino-libs: networks: main_network: driver: bridge network_mode: service:elemes-ts