SealRoute SealRoute
Zurück zur Startseite

Installiere SealRoute auf deinem Server

Eine 7-Schritte-Anleitung, die dich von einer frischen Linux-Maschine mit Docker zu einer vollständig aktivierten SealRoute-Instanz führt. Jeder Schritt enthält den genauen Befehl oder Screenshot, den du brauchst.

Voraussetzungen

  • Ein Linux-Host (Ubuntu 22.04+ oder eine andere moderne Distribution) mit mindestens 2 GB RAM und 10 GB Festplatte.
  • Docker Engine (24+) und das Docker Compose v2 Plugin. Überprüfe mit:
    docker --version
    docker compose version
  • Entweder eine öffentliche Domain (mit vorgeschaltetem HTTPS) oder einfach ein von dir kontrollierter Port auf localhost. Die Standard-docker-compose.yml liefert einen Caddy-Reverse-Proxy, der HTTPS automatisch handhabt, wenn du HOST=your.domain setzt.
  • Eine Aplindo-Lizenz. Du kannst auch direkt aus der laufenden App in Schritt 5 unten eine kaufen.

Schritt 1 - Lade die docker-compose-Datei herunter

Erstelle ein Arbeitsverzeichnis und hole die Produktions-Compose-Datei aus dem Repo. Sie verdrahtet bereits SealRoute, Postgres und Caddy.

mkdir sealroute && cd sealroute
curl -L https://raw.githubusercontent.com/sealroute/sealroute/main/docker-compose.yml -o docker-compose.yml
curl -L https://raw.githubusercontent.com/sealroute/sealroute/main/deploy.sh         -o deploy.sh
chmod +x deploy.sh

Wenn du lieber das gesamte Deploy-Paket klonen möchtest: git clone https://github.com/sealroute/sealroute.git && cd sealroute. So oder so sind die nächsten Schritte dieselben.

Schritt 2 - Konfiguriere deine Umgebung

SealRoute liest seine Konfiguration aus Umgebungsvariablen. Erstelle eine .env-Datei neben deiner Compose-Datei. Das Minimum, das du brauchst:

# Where the app is reachable from a browser. Use https://your.domain in
# production or http://localhost:3000 for a local trial.
APP_URL=https://your.domain
HOST=your.domain

# Generate with `openssl rand -hex 64` and keep it secret.
SECRET_KEY_BASE=replace-me-with-a-long-random-string

# --- Aplindo licensing ------------------------------------------------------
APLINDO_LICENSE_API_URL=https://license.aplindo.com
APLINDO_LICENSE_PRODUCT_SLUG=SealRoute
APLINDO_LICENSE_DEFAULT_AMOUNT_IDR=5000000.00
APLINDO_LICENSE_HEARTBEAT_SECONDS=3600

Ein vollständigeres Beispiel mit optionalen Einstellungen findest du in .env.example.

Schritt 3 - Starte den Stack

Starte SealRoute, Postgres und den Reverse-Proxy im Hintergrund:

docker compose up -d

Beobachte die Boot-Logs, bis du Puma siehst, das auf tcp://0.0.0.0:3000 lauscht:

docker compose logs -f app

Der erste Start führt auch die Datenbankmigrationen aus. Auf einem 2-GB-Host ist das normalerweise in unter einer Minute abgeschlossen.

Schritt 4 - Erste Einrichtung

Öffne die App in deinem Browser. Da es noch keine Benutzer gibt, leitet SealRoute dich auf die Seite /setup weiter. Hier erstellst du das erste Admin-Konto und die Metadaten deines Kontos.

Leeres SealRoute /setup-Formular

Fülle aus:

  • Vorname / Nachname - dein Name als erster Administrator.
  • E-Mail - dies ist der Admin-Login und wohin Signaturbenachrichtigungen gesendet werden.
  • Firmenname - wird Unterzeichnern in E-Mails und auf der Signaturseite angezeigt.
  • Passwort - mindestens 8 Zeichen, eine Mischung aus Buchstaben und Zahlen wird empfohlen.
  • App-URL - vorausgefüllt aus APP_URL in deiner .env. Wird verwendet, um Signaturlinks in E-Mails zu generieren.
  • Sprache - Standard-Benutzeroberflächensprache für neue Einreicher.
SealRoute /setup-Formular mit Beispieldaten ausgefüllt

Klicke auf Absenden. SealRoute erstellt das Konto, meldet dich an und leitet dich auf die Seite /license weiter.

Schritt 5 - Kaufe eine Lizenz

Eine selbst gehostete SealRoute-Instanz benötigt eine aktive Lizenz, um die angemeldeten Bildschirme freizuschalten. Die Seite /license hat zwei Karten: Lizenz kaufen oben und Lizenz aktivieren darunter.

SealRoute /license-Seite mit den Karten Lizenz kaufen und Lizenz aktivieren

Lege in der Karte Lizenz kaufen die Anzahl der Plätze fest, die du benötigst. Der Stückpreis stammt aus deiner Einstellung APLINDO_LICENSE_DEFAULT_AMOUNT_IDR (aktuell IDR 1.499.000 pro Platz), und die Summe wird automatisch neu berechnet, wenn du die Platzanzahl änderst.

Karte Lizenz kaufen mit Plätzen auf 5 und Summe neu berechnet auf IDR 7.495.000

Klicke auf Lizenz kaufen. SealRoute öffnet ein Modal mit dem Aplindo-Checkout-iframe. Schließe die Zahlung dort ab. Sobald die Transaktion erfolgreich ist, sendet Aplindo den Lizenzschlüssel per E-Mail an die von dir eingegebene Adresse, und derselbe Schlüssel wird auch auf der Erfolgsseite des Checkouts angezeigt.

Schritt 6 - Aktiviere deine Lizenz

Kopiere den Lizenzschlüssel von der Erfolgsseite oder aus deiner E-Mail und füge ihn dann in die Karte Lizenz aktivieren auf /license ein:

Karte Lizenz aktivieren mit einem eingefügten Beispiel-Lizenzschlüssel XXXX-XXXX-XXXX-XXXX

Klicke auf Aktivieren. SealRoute ruft den Aplindo-Lizenzserver auf, bindet den Schlüssel an diese Maschine und lädt neu. Du siehst oben die Karte Aktuelle Lizenz mit dem Status active, dem Produkt-Slug, der Lizenz-ID, der Maschinen-ID, dem Ablaufdatum und dem Zeitstempel des letzten Heartbeats.

Karte Aktuelle Lizenz mit Status aktiv, Produkt, Lizenz-ID, Maschinen-ID, Ablauf und letztem Heartbeat

SealRoute plant einen Heartbeat-Job, der die Lizenz alle APLINDO_LICENSE_HEARTBEAT_SECONDS Sekunden (Standard: stündlich) erneut bei Aplindo überprüft. Wird die Lizenz widerrufen oder läuft sie ab, spiegelt der nächste Heartbeat dies wider.

Schritt 7 - Fertig

SealRoute ist jetzt voll funktionsfähig. Besuche / und du landest auf dem leeren Dashboard für Dokumentvorlagen, bereit für deinen ersten Upload.

Leeres SealRoute-Dashboard für Dokumentvorlagen, bereit für den ersten Upload

Erstelle deine erste Vorlage

Klicke auf dem Dashboard auf Hochladen, lege ein PDF oder DOCX ab und ziehe dann Felder darauf - Signatur, Datum, Text, Kontrollkästchen usw.

Probiere die API aus

SealRoute ist in erster Linie eine REST-API. Generiere ein API-Token unter Einstellungen → API und gehe dann zur API-Dokumentation für End-to-End-Beispiele in 10 Sprachen.

Brauchst du Hilfe?