M-Coder läuft in einem Debian/Ubuntu LXC-Container auf zwei Arten:
| Methode | Wann | Vorteil |
|---|---|---|
| Native (empfohlen) | Standard-LXC | Kein Docker nötig, weniger RAM |
| Docker | LXC mit nesting=1 |
Isoliert, einfaches Update |
- CT erstellen – Template: Debian 12 oder Ubuntu 24.04
- Ressourcen: mind. 512 MB RAM, 2 GB Disk
- Netzwerk: DHCP oder feste IP
- Optional für Docker: unter Options → Features →
nesting=1aktivieren
# Beispiel: Features in /etc/pve/lxc/<CTID>.conf
features: nesting=1Im LXC als root:
apt update && apt install -y git curl
git clone https://github.com/chrishaef/M-Coder.git /opt/m-coder
cd /opt/m-coder
chmod +x scripts/*.sh
./scripts/install.shDas Skript installiert Abhängigkeiten, richtet Python venv + systemd ein und startet den Dienst.
Ergebnis: Web-UI unter http://<LXC-IP>:8080
systemctl status m-coder
journalctl -u m-coder -f
curl http://127.0.0.1:8080/healthnano /opt/m-coder/.env
systemctl restart m-codercd /opt/m-coder && git pull
.venv/bin/pip install -e . -q
systemctl restart m-coderNur wenn nesting=1 im LXC gesetzt ist:
apt update && apt install -y git curl
curl -fsSL https://get.docker.com | sh
git clone https://github.com/chrishaef/M-Coder.git /opt/m-coder
cd /opt/m-coder
cp deploy/env.example .env
chmod +x scripts/docker-up.sh
./scripts/docker-up.shdocker compose ps
docker compose logs -fFür Tests oder wenn kein root-Zugriff:
git clone https://github.com/chrishaef/M-Coder.git
cd M-Coder
chmod +x scripts/start.sh
./scripts/start.sh# UFW im LXC
ufw allow 8080/tcp
ufw enableIn Proxmox ggf. auch die Host-Firewall anpassen.
TLS und API-Schutz über nginx auf dem LXC oder Host – siehe nginx.conf.example.
Setze in .env:
SAQ_API_KEY=dein-langer-zufallsstring
/opt/m-coder/.venv/bin/saq-decode /pfad/zur/aufnahme.wav --offset 708 --length 275| Problem | Lösung |
|---|---|
gerke_available: false |
apt install openjdk-21-jre-headless |
| Port nicht erreichbar | SAQ_HOST=0.0.0.0 in .env, Firewall prüfen |
| Docker startet nicht | nesting=1 im LXC aktivieren |
| Upload zu groß | SAQ_MAX_UPLOAD_MB=200 in .env |