- Shell 74.8%
- Jinja 25.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Navidrome from the .deb of the GitHub release (checksum from navidrome_checksums.txt), ffmpeg, port 4533, sandboxed unit as user navidrome, data in /var/lib/navidrome. The first administrator comes from ND_DEVAUTOCREATEADMINPASSWORD (only used in Navidrome's initial setup), so no setup wizard stays open. Unit and iac.env are written before the package because its postinst restarts the service on upgrades. adopt.sh takes over installations of the Proxmox VE community script (same .deb) in place; a database without users gets its initial setup reset so the iac admin is created. Tested: lint (with ansible-core and systemd-analyze), check-app.sh (install + smoke, second run changed=1), login with the access hint, update 0.63.2 -> 0.64.2, adopt of a community install 0.63.2 with and without an existing user (smoke green, following run changed=1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .forgejo/workflows | ||
| .vibe | ||
| docs | ||
| files | ||
| handlers | ||
| tasks | ||
| templates | ||
| tests | ||
| .clinerules | ||
| .cursorrules | ||
| .windsurfrules | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| GEMINI.md | ||
| iac.json | ||
| README.md | ||
iac-navidrome
Navidrome ist ein Musikserver mit Web-Player und Subsonic-API – für
Apps wie Symfonium, DSub, Feishin oder play:Sub. Aus dem offiziellen .deb des GitHub-Releases auf
Debian 13 als LXC oder VM auf Proxmox VE. Teil von iac.
Installation (auf der Proxmox-Node)
bash -c "$(curl -fsSL https://iac.heyer.systems/navidrome/ct.sh)" # LXC
bash -c "$(curl -fsSL https://iac.heyer.systems/navidrome/vm.sh)" # VM
Ohne Dialog: IAC_NONINTERACTIVE=1 und var_*-Variablen – am einfachsten mit dem Generator auf
https://iac.heyer.systems/apps/navidrome/.
Anmeldung und Zugriff
- Weboberfläche und Subsonic-API:
http://<ip>:4533/– Port 4533 ist aus allen Netzen erreichbar (Navidrome hat ein eigenes Login). Für HTTPS einen Reverse Proxy davorsetzen. - Login:
admin, Passwort im Gast:grep navidrome_admin_password /etc/iac/settings.env. Navidrome legt den Benutzer nur beim allerersten Start mit leerer Datenbank an; ein später geändertes Passwort bleibt. Den Einrichtungsassistenten im Browser gibt es dadurch nicht. - Navidrome schreibt das Startpasswort bei diesem ersten Start einmal ins Journal (lesbar für
root und die Gruppen
adm/systemd-journal) – nach dem ersten Login im Profil ändern.
Musik
Navidrome liest die Musik aus MusicFolder, Standard des Pakets: /opt/navidrome/music. Für eine
Freigabe des Proxmox-Hosts im LXC einen Bind-Mount anlegen (auf der Node, Gast gestoppt):
pct set <ID> -mp0 /pfad/auf/dem/host,mp=/opt/navidrome/music,ro=1
Ein anderer Pfad: MusicFolder = "/mnt/musik" in /etc/navidrome/navidrome.toml, dann
systemctl restart navidrome. Navidrome darf die Musik nur lesen (systemd-Sandbox) – auch unter
/home. Neue Dateien findet der Scanner beim Start und über die Dateisystem-Überwachung; einen
zeitgesteuerten Scan stellt Scanner.Schedule ein.
Einstellungen
| Datei | Inhalt |
|---|---|
/etc/navidrome/navidrome.toml |
eigene Einstellungen (alle Optionen: Konfiguration), iac ändert sie nie |
/etc/navidrome/iac.env |
gehört iac: Adresse 0.0.0.0, Port 4533, DataFolder, Startpasswort – gewinnt gegen die toml |
Navidrome sendet standardmäßig anonyme Nutzungsstatistiken
(Insights); abschalten mit
EnableInsightsCollector = false in der toml.
Wo was liegt
| Pfad | Inhalt |
|---|---|
/var/lib/navidrome |
Datenbank navidrome.db, Cache (Cover, Transcoding), Plugins |
/opt/navidrome/music |
Standard-Musikordner |
/usr/bin/navidrome |
Programm aus dem Paket navidrome |
Der Dienst navidrome läuft als Benutzer navidrome mit systemd-Härtung und darf nur
/var/lib/navidrome beschreiben. ffmpeg für das Transcoding ist dabei.
Herkunft und Update
iac lädt das .deb des GitHub-Releases und prüft es gegen navidrome_checksums.txt des Releases.
update
update installiert das neueste Release derselben Major-Version ("major_lock": true, derzeit
0.x) per apt; Navidrome migriert die Datenbank beim Start selbst. Eine neue Major-Version wird
nur angezeigt.
Bestehende Installation übernehmen
Installationen des Proxmox-VE-Community-Scripts (ct/navidrome.sh) übernimmt adopt.sh im
bestehenden Gast – Daten, Benutzer und Musik bleiben, wo sie sind. Ablauf und andere Wege:
docs/MIGRATION.md.
bash -c "$(curl -fsSL https://iac.heyer.systems/navidrome/adopt.sh)"
Selbsttest (im Gast)
bash /var/lib/iac/src/core/bin/iac-smoke