This commit introduces the necessary files for installing Moltbot as a Docker container, specifically targeting a Synology NAS setup. - Created to define the Moltbot service, including image build from source, port mapping (18789), and persistent data volume ( to ). - Added which provides a comprehensive, step-by-step guide for deploying Moltbot on a Synology NAS using , covering initial setup and the interactive command.
74 lines
3.4 KiB
Markdown
74 lines
3.4 KiB
Markdown
# Moltbot auf Synology NAS mit Docker installieren
|
|
|
|
Diese Anleitung beschreibt, wie Sie Moltbot mithilfe des bereitgestellten `Dockerfile` und `docker-compose.yml` als permanenten Dienst auf einer Synology NAS einrichten.
|
|
|
|
## Voraussetzungen
|
|
|
|
1. **Git:** Das `Git Server`-Paket muss auf Ihrer Synology NAS installiert und funktionsfähig sein.
|
|
2. **Container Manager:** Das `Container Manager`-Paket (früher `Docker`) muss installiert sein.
|
|
3. **SSH-Zugang:** Sie benötigen SSH-Zugang zu Ihrer Synology NAS, um die Befehle auszuführen.
|
|
|
|
## Schritt 1: Repository klonen
|
|
|
|
Klonen Sie das Repository, das die `Dockerfile` und diese Anleitung enthält, an einen geeigneten Ort auf Ihrer Synology NAS.
|
|
|
|
```bash
|
|
# Ersetzen Sie die URL durch die tatsächliche Repository-URL
|
|
git clone https://github.com/moltbot/moltbot.git /volume1/docker/moltbot
|
|
cd /volume1/docker/moltbot
|
|
```
|
|
|
|
**Wichtiger Hinweis:** Die `docker-compose.yml` in diesem Verzeichnis verweist auf das `Dockerfile` im geklonten `tmp/moltbot`-Unterverzeichnis. Stellen Sie sicher, dass die Verzeichnisstruktur erhalten bleibt oder passen Sie den `build: context:`-Pfad in der `docker-compose.yml` entsprechend an.
|
|
|
|
## Schritt 2: Datenverzeichnis erstellen
|
|
|
|
Erstellen Sie ein leeres Verzeichnis, in dem Moltbot seine Konfiguration, Anmeldeinformationen und persistenten Daten speichern wird. Dieses Verzeichnis wird in den Container gemappt.
|
|
|
|
```bash
|
|
mkdir moltbot_data
|
|
```
|
|
|
|
Dieses Verzeichnis `moltbot_data` muss sich im selben Ordner wie Ihre `docker-compose.yml`-Datei befinden.
|
|
|
|
## Schritt 3: Interaktive Ersteinrichtung (Onboarding)
|
|
|
|
Moltbot erfordert eine einmalige, interaktive Einrichtung, um die Erstanmeldung und Konfiguration durchzuführen. Dieser Schritt wird mit einem temporären Container durchgeführt, der auf Ihr `moltbot_data`-Verzeichnis zugreift.
|
|
|
|
Führen Sie den folgenden Befehl aus und folgen Sie den Anweisungen im Terminal:
|
|
|
|
```bash
|
|
docker-compose run --rm moltbot clawdbot onboard
|
|
```
|
|
|
|
* `docker-compose run`: Führt einen einmaligen Befehl in einem Dienst-Container aus.
|
|
* `--rm`: Löscht den Container automatisch, nachdem der Befehl abgeschlossen ist.
|
|
* `moltbot`: Der Name des Dienstes in der `docker-compose.yml`.
|
|
* `clawdbot onboard`: Der eigentliche Einrichtungsbefehl in Moltbot.
|
|
|
|
Nach Abschluss dieses Schritts enthält der Ordner `moltbot_data` alle notwendigen Konfigurationsdateien.
|
|
|
|
## Schritt 4: Moltbot als Dienst starten
|
|
|
|
Nachdem die Ersteinrichtung abgeschlossen ist, können Sie Moltbot als permanenten Hintergrunddienst starten.
|
|
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
* `-d`: Startet die Container im "detached" Modus (im Hintergrund).
|
|
|
|
Moltbot ist jetzt aktiv und wird bei einem Neustart der Synology NAS automatisch mitgestartet. Der Dienst ist über Port `18789` auf Ihrer Synology NAS erreichbar.
|
|
|
|
## Verwaltung über die Synology-Oberfläche (Container Manager)
|
|
|
|
Sie können das Projekt auch über die `Container Manager`-Anwendung verwalten:
|
|
|
|
1. Öffnen Sie den **Container Manager**.
|
|
2. Navigieren Sie zu **Projekt**.
|
|
3. Klicken Sie auf **Erstellen**.
|
|
4. Wählen Sie als Quelle `docker-compose.yml hochladen`.
|
|
5. Wählen Sie den Pfad zu dem Verzeichnis, in das Sie das Repository geklont haben.
|
|
6. Folgen Sie dem Assistenten, um das Projekt zu erstellen und zu starten.
|
|
|
|
**Hinweis:** Die interaktive Einrichtung (Schritt 3) muss dennoch über die Kommandozeile (SSH) erfolgen, da die GUI keine `run`-Befehle mit interaktivem Terminal unterstützt.
|