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.
docker --version
docker compose version
docker-compose.yml liefert einen Caddy-Reverse-Proxy, der HTTPS automatisch handhabt, wenn du HOST=your.domain setzt.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.
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.
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.
Ö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.
Fülle aus:
APP_URL in deiner .env. Wird verwendet, um Signaturlinks in E-Mails zu generieren.
Klicke auf Absenden. SealRoute erstellt das Konto, meldet dich an und leitet dich auf die Seite /license weiter.
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.
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.
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.
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:
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.
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.
SealRoute ist jetzt voll funktionsfähig. Besuche / und du landest auf dem leeren Dashboard für Dokumentvorlagen, bereit für deinen ersten Upload.
Klicke auf dem Dashboard auf Hochladen, lege ein PDF oder DOCX ab und ziehe dann Felder darauf - Signatur, Datum, Text, Kontrollkästchen usw.
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.