DEEN

Nupplo installieren

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.

Was du vorher brauchst

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.

Welcher Weg passt zu dir?

Weg 1: Synology-NAS

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.

1

Ordner anlegen

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.

2

Projekt anlegen

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"]
Der Dialog »Projekt erstellen« im Container Manager: Projektname nupplo, Quelle »docker-compose.yml erstellen«, darunter die sieben Zeilen der Compose-Datei
So sieht es aus, wenn alles eingetragen ist.

Weiter → Weiter → Fertig. Der Container Manager lädt das Abbild und startet es. Beim ersten Mal dauert das ein bis zwei Minuten.

3

Aufrufen

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.

4

Später aktualisieren

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.

Läuft es?

Im Container Manager unter Container steht dann eine Zeile mit grünem Punkt, daneben das Abbild und wie lange sie schon läuft.

Der Container Manager unter »Container«: eine Zeile namens nupplo mit grünem Punkt, dem Abbild nupplo-nupplo:latest und der Laufzeit

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.

Weg 2: PC, Server oder Raspberry Pi

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.

1

Docker installieren

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.

2

Ordner und Datei anlegen

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.

3

Starten

In diesem Ordner:

docker compose up -d

Den Ordner data legt Docker dabei selbst an.

4

Aufrufen und später aktualisieren

http://<rechner>:8300 im Browser öffnen. Für ein Update genügen zwei Zeilen im selben Ordner:

docker compose pull
docker compose up -d

Weg 3: Unraid

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.

Vorlagen-Repo ansehen

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.

Weg 4: Ohne eigenen Rechner

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

Weg 5: Aus dem Quellcode

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.

Nach dem ersten Start

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.

BrickLink

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.

Rebrickable

Liefert Namen, Bilder und die Inhalte von Sets. Ebenfalls kostenlos.

Ohne beides

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.

Wenn etwas klemmt

„Image kann nicht gefunden werden"

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.

Der Container startet 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.

Die Sammlung ist nach einem Update leer

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.

ARM-Modelle

Geräte wie DS220j oder DS223 laufen – das Abbild gibt es für arm64. Nur sehr alte 32-Bit-Modelle (armv7) fallen raus.

Port schon belegt

Die linke Zahl bei ports ändern, etwa auf "8399:8300". Die rechte bleibt, wie sie ist – auf ihr lauscht die App im Container.

Sonst noch etwas?

Das Handbuch geht ausführlicher auf Einrichtung und Betrieb ein, und für Fragen gibt es die Issues im Projekt.

Zum Handbuch Frage stellen