Skip to content

Installation

github-actions[bot] edited this page May 8, 2026 · 2 revisions

Installation

This page is the wiki-friendly summary. The full reference, including every supported configuration knob, lives in docs/INSTALLATION.md.

Hardware Requirements

  • Raspberry Pi 3B+, 4, or 5
  • 2 GB RAM minimum (4 GB recommended)
  • SD card with Raspberry Pi OS (Bookworm or newer)
  • Network connection (Ethernet or Wi-Fi)

Software Requirements

  • Raspberry Pi OS (Bookworm+) or any Linux with systemd and alsa-utils
  • Node.js ≥ 20.0.0
  • Internet access during installation

Automated Install (recommended)

git clone https://github.com/glloq/General-Midi-Boop.git
cd General-Midi-Boop
chmod +x scripts/Install.sh
./scripts/Install.sh

The installer (scripts/Install.sh) installs Node 20, project dependencies, sets up PM2, and registers a systemd unit.

Manual Install

git clone https://github.com/glloq/General-Midi-Boop.git
cd General-Midi-Boop
npm install
npm run migrate    # apply SQLite migrations
npm start          # production server

Configuration

Three layered sources, in increasing precedence:

  1. config.json — repo defaults. Server port, WebSocket port, MIDI buffer, default latency, DB path, log level, playback defaults, transport flags.
  2. .env — local overrides loaded by dotenv. See .env.example.
  3. Environment variables — highest priority, useful for systemd / Docker.

Common variables:

Variable Purpose
GMBOOP_SERVER_PORT HTTP port (default 8080)
GMBOOP_SERVER_WS_PORT WebSocket port
GMBOOP_DATABASE_PATH SQLite file location
GMBOOP_LOG_LEVEL error / warn / info / debug
GMBOOP_LOG_FILE Path to log file (rotated)
GMBOOP_BLE_ENABLED Enable Bluetooth LE MIDI
GMBOOP_SERIAL_ENABLED Enable GPIO UART MIDI
GMBOOP_SERIAL_BAUD_RATE Serial baud rate (default 31250)
GMBOOP_API_TOKEN Token pour /api/* et WS ?token=généré automatiquement au premier démarrage et sauvegardé dans .env. Vous pouvez le remplacer par un token personnalisé si besoin (accès distant, scripts CI, etc.).

Accessing the Interface

After the server starts:

  • Local: http://localhost:8080
  • LAN: http://<Raspberry-Pi-IP>:8080

Find the Pi's IP with hostname -I on the Pi itself.

Optional Subsystems

  • Bluetooth LE MIDI — needs BlueZ + node-ble permissions on D-Bus. Pairing flow detailed in Hardware-Integration.
  • GPIO UART MIDI — enable UART overlays in /boot/firmware/config.txt, wire 5 V → opto-isolated MIDI in/out, see docs/GPIO_MIDI_WIRING.md.
  • GPIO LED strips — installs pigpio automatically; the user running the service must be in the gpio group.
  • Microphone calibration — requires an ALSA-detectable input. See Advanced-Topics.

Next Steps

Clone this wiki locally