-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment
Three supported deployment modes. Pick one — they're alternatives, not stages.
npm startSimple, foreground process. Useful for development and bench testing. Configuration via config.json and .env (Installation covers the full list).
PM2 keeps the process alive and restarts on crash. Configuration is committed in ecosystem.config.cjs.
npm run pm2:start # start
npm run pm2:stop # stop
npm run pm2:restart # restart
npm run pm2:logs # tail logs
npm run pm2:status # process statePair with pm2 startup and pm2 save to survive reboots.
docker-compose.yml and Dockerfile ship with the repo.
docker-compose up -d # start, detached
docker-compose logs -f # tail logs
docker-compose down # stopThe container exposes port 8080 by default; mount ./data if you want the SQLite database to persist outside the container.
The automated installer (scripts/Install.sh) installs a gmboop.service unit. Manage it with the standard commands:
sudo systemctl start gmboop
sudo systemctl stop gmboop
sudo systemctl restart gmboop
sudo systemctl status gmboop
sudo journalctl -u gmboop -f # tail journalgit pull
npm install
npm run migrate # apply any new SQLite migrations
sudo systemctl restart gmboop # or pm2 restart / docker compose up -dThe helper scripts/update.sh automates pull + install + migrate + restart.
A scheduled backup runs daily via src/persistence/BackupScheduler.js. Backups are written next to the live database. Keep an off-host copy if your data matters.
-
GET /api/health— liveness probe (no auth). -
GET /api/status— device, route, file counts and memory usage (auth required). -
GET /api/metrics— Prometheus-compatible scrape endpoint (auth required).
When GMBOOP_API_TOKEN is set, pass Authorization: Bearer <token> to the authenticated endpoints.
JSON-structured logs with rotation, configured via GMBOOP_LOG_FILE and GMBOOP_LOG_LEVEL. The default rotation is handled by src/core/Logger.js.
Général Midi Boop · MIT License · Sources tracked in wiki/ — edits synced on push to main.
Getting Started
Interface — Pages & Modals
- Interface-Main-Page
- Interface-Instrument-Creation
- Interface-Virtual-Piano
- Interface-Loop-Manager
- Interface-Lighting-Control
- Interface-Playlist
- Interface-Microphone
- Interface-Settings
- Interface-Hand-Management
Core Concepts
Reference
Operations
Community