be4d43105e
Node.js/Express backend + vanilla JS frontend. Features: real-time collaborative whiteboard (SSE), multi-page support, LaTeX formulas, shapes/connectors, coordinate systems, number lines, compass, zoom/pan, Catmull-Rom pencil smoothing, ruler/protractor with rotation & resize controls, minimap navigation overlay, auto-measurements, multi-page thumbnails sidebar, PNG export, page templates. Student/teacher workflows: classes, assignments, library, dashboard. Mobile responsive. SQLite (better-sqlite3). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
775 B
YAML
33 lines
775 B
YAML
version: "3.9"
|
|
|
|
services:
|
|
app:
|
|
build: .
|
|
container_name: ls-system
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${PORT:-3000}:3000"
|
|
volumes:
|
|
- ls-data:/app/backend/data
|
|
- ls-uploads:/app/backend/uploads
|
|
- ls-backups:/app/backups
|
|
environment:
|
|
- NODE_ENV=production
|
|
- PORT=3000
|
|
- JWT_SECRET=${JWT_SECRET:?Set JWT_SECRET in .env}
|
|
- JWT_EXPIRES_IN=${JWT_EXPIRES_IN:-7d}
|
|
- CLIENT_ORIGIN=${CLIENT_ORIGIN:-}
|
|
- DB_PATH=/app/backend/data/learnspace.db
|
|
- UPLOADS_DIR=/app/backend/uploads
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
start_period: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
ls-data:
|
|
ls-uploads:
|
|
ls-backups:
|