Nupplo läuft überall, wo Docker läuft – auf der NAS, auf einem alten Rechner, auf einem Raspberry Pi oder bei einem Anbieter im Netz. Fünf Wege, einer davon passt zu dir. Der erste ist der, den die meisten nehmen.
docker.io aus der Paketverwaltung.8300. Ist der belegt, nimmst du einen anderen; wie, steht
bei den Wegen dabei.Was du nicht brauchst: kein Konto bei uns, keine Anmeldung, keine Kommandozeile. Die Zugänge zu BrickLink und Rebrickable sind kostenlos und lassen sich auch später nachtragen – ohne sie läuft alles, nur ohne Preise und ohne Namenssuche. Bei BrickLink gehört ein einmal eröffneter Shop dazu; er darf leer bleiben.
Der übliche Weg, und er kommt ohne Kommandozeile aus. Voraussetzung ist der Container Manager aus dem Paket-Zentrum (DSM 7.2 oder neuer). Heißt das Paket bei dir noch Docker, ist dein DSM älter. Für diesen Fall steht am Ende dieses Abschnitts ein Kasten mit drei Befehlen für SSH.
In der File Station unter docker
einen Ordner nupplo anlegen, darin einen Ordner
data.
Ergebnis:
/volume1/docker/nupplo/data
Dieser eine Ordner ist der wichtige – dort liegt deine Datenbank. Alles andere ist ersetzbar.
Container Manager → Projekt → Erstellen. Drei Felder sind auszufüllen:
Projektname nupplo · Pfad über
Pfad fes… auf /docker/nupplo · Quelle
docker-compose.yml erstellen
In das Textfeld kommt:
services:
nupplo:
image: ghcr.io/melle79/nupplo:latest
container_name: nupplo
restart: unless-stopped
ports: ["8300:8300"]
volumes: ["./data:/data"]
Weiter → Weiter → Fertig. Der Container Manager lädt das Abbild und startet es. Beim ersten Mal dauert das ein bis zwei Minuten.
Im Browser http://<NAS-IP>:8300 öffnen. Ab hier
übernimmt der Einrichtungsassistent.
Ist Port 8300 belegt, ändere in der YAML die
linke Zahl, etwa "8399:8300", und rufe
die App unter :8399 auf.
Container Manager → Projekt → nupplo → Aktion →
Erstellen. DSM zieht das aktuelle Abbild und startet neu.
Die Daten in data bleiben unangetastet.
Wer vorher einen Sicherungspunkt will: in der App unter Mehr → Sicherung die JSON-Datei herunterladen.
Im Container Manager unter Container steht dann eine Zeile mit grünem Punkt, daneben das Abbild und wie lange sie schon läuft.
Lieber über die Suche im Container Manager?
Das geht – das Abbild liegt auch auf Docker Hub. Dann aber unbedingt den
Ordner auf /data legen: Ohne diesen einen Schritt legt Docker
ein anonymes Volume an. Die Datenbank landet namenlos unter
/volume1/@docker/volumes/…, in der File Station siehst du
davon nichts – und beim nächsten Update bekommt der neue Container ein
neues, leeres Volume. Die Sammlung wäre scheinbar weg. Das Projekt oben
ist der bequemere Weg, weil dort alles in einer Datei steht und für
Updates erhalten bleibt.
Älteres DSM, nur das Paket „Docker"? Dann geht es über SSH. Auf der NAS anmelden und dort:
sudo mkdir -p /volume1/docker/nupplo && cd /volume1/docker/nupplo sudo curl -sLo docker-compose.yml https://raw.githubusercontent.com/Melle79/nupplo/main/docker-compose.example.yml sudo docker compose up -d
Aktualisiert wird später im selben Ordner mit
sudo docker compose pull und
sudo docker compose up -d.
Der kürzeste Weg, wenn eine Kommandozeile zur Hand ist. Nupplo gibt es für x86-64 (jeder gewöhnliche Intel- oder AMD-Rechner) und für arm64 (Raspberry Pi ab Modell 3, ARM-NAS, Apple Silicon). Docker sucht die passende Fassung selbst aus, der Befehl ist überall derselbe.
Falls noch nicht geschehen – ohne Docker geht es nicht weiter. Auf Windows und macOS nimmst du Docker Desktop, auf Linux und Raspberry Pi OS das Paket aus der Paketverwaltung:
sudo apt install docker.io docker-compose-v2
Ob es läuft, sagt dir
docker --version. Auf einem Raspberry Pi meldest du dich
danach einmal ab und wieder an – sonst fehlt deinem Benutzer das Recht,
Docker zu bedienen.
Einen Ordner deiner Wahl anlegen und darin eine Datei
docker-compose.yml mit diesem Inhalt:
services:
nupplo:
image: melle79/nupplo:latest
container_name: nupplo
restart: unless-stopped
ports: ["8300:8300"]
volumes: ["./data:/data"]
Oben steht ghcr.io/melle79/nupplo,
hier melle79/nupplo: Das Abbild liegt auf beiden
Registries. Der Container Manager durchsucht von Haus aus nur Docker
Hub, deshalb dort der volle Name.
In diesem Ordner:
docker compose up -d
Den Ordner data legt Docker dabei selbst an.
http://<rechner>:8300 im Browser öffnen. Für ein
Update genügen zwei Zeilen im selben Ordner:
docker compose pull docker compose up -d
Für Unraid gibt es eine fertige Vorlage – Abbild, Port und der Pfad
auf /data sind darin schon eingetragen. Trage einmal unter
Docker → Einstellungen → Template Repositories diese
Adresse ein:
https://github.com/Melle79/unraid-templates
Danach steht Nupplo unter Docker → Add Container in der Vorlagen-Auswahl, und du wählst nur noch den Ordner auf deinem Array.
QNAP und alles andere mit Container Station oder Portainer nehmen dieselbe Compose-Datei wie in Weg 2 – nur der Pfad vor dem Doppelpunkt heißt dort anders.
Wenn zu Hause nichts durchläuft, übernehmen Render oder Railway das Betreiben. Beide lesen die Vorlage aus dem Projekt und richten alles selbst ein. Die Instanz gehört dabei dir – Daten, Kosten und Zugang. Einen Nupplo-Dienst dazwischen gibt es nicht.
Das kostet Geld, und das hat einen Grund. Nupplo braucht ein dauerhaftes Verzeichnis für die Datenbank. Renders kostenloser Tarif hat keines – dort wäre die Sammlung nach jedem Neustart weg. In der Vorlage steht deshalb bewusst der kleinste bezahlte Tarif mit 2 GB Platte, statt eine Einrichtung anzubieten, die Daten verliert.
render.yaml ansehen Railway-Vorlage
Zum Mitentwickeln oder für eigene Änderungen:
git clone https://github.com/Melle79/nupplo cd nupplo docker compose up -d --build
Im Rücken arbeiten FastAPI und SQLite, im Browser reines JavaScript. Das Frontend braucht deshalb keinen Bauschritt.
Beim ersten Aufruf führt dich ein Assistent durch alles Weitere: Admin-Konto, Anzeigename und die Zugänge für Preise und Katalogsuche. Jeder Schritt lässt sich überspringen und später unter Mehr → Einstellungen nachholen.
Liefert die Ø-Preise, neu und gebraucht. Der Zugang ist kostenlos und bleibt deiner – die Preise holt deine Instanz selbst, nicht wir. Die Schnittstelle steht allerdings nur Verkäufern offen: Im Konto muss einmal ein Shop eröffnet sein, anbieten musst du darin nichts.
Liefert Namen, Bilder und die Inhalte von Sets. Ebenfalls kostenlos.
Läuft auch. Scannen, Erfassen und Listen funktionieren; es fehlen dann Preise und die Suche nach Namen.
Von unterwegs erreichbar machst du die Instanz später über einen Cloudflare-Tunnel oder ein VPN – nicht über eine Portfreigabe am Router. Wie das geht, steht auf einer eigenen Seite; in der App steckt unter Mehr → Externer Zugriff ein Assistent dafür.
Im Container Manager ist unter Registrierung nur Docker
Hub eingetragen. Das stört nicht: Ein Projekt mit vollem Namen
(ghcr.io/…) zieht direkt – die Suche brauchst du dafür
gar nicht.
Steht im Protokoll etwas von fehlenden Schreibrechten, gehört
data dem falschen Besitzer. In der File Station unter
Eigenschaften → Berechtigung für nupplo
samt Unterordnern Schreibrechte setzen.
Dann lag kein Ordner auf /data, und die Datenbank
steckte in einem anonymen Volume. Sie ist nicht verloren: unter
Container → Details → Volume nachsehen, wo sie liegt. Danach
auf ein Projekt umstellen, dann passiert es nicht wieder.
Geräte wie DS220j oder DS223 laufen – das Abbild gibt es für
arm64. Nur sehr alte 32-Bit-Modelle (armv7)
fallen raus.
Die linke Zahl bei ports ändern, etwa
auf "8399:8300". Die rechte bleibt, wie sie ist – auf ihr
lauscht die App im Container.
Das Handbuch geht ausführlicher auf Einrichtung und Betrieb ein, und für Fragen gibt es die Issues im Projekt.