JournalindeksDockup / feltnote
Note / self-host-docuseal

Sådan hoster du DocuSeal selv i 2026: underskriftslinks, SMTP og auditdata

Host DocuSeal selv med korrekte porte, persistent storage, HTTPS, secrets, backups og opgraderingskontrol. Lær, hvordan du løser problemer med e-maillinks, der peger på localhost.

De fleste installationsvejledninger til DocuSeal stopper ved den første sideindlæsning. Det er for tidligt: E-maillinks peger på localhost, eller proxy-headere får secure cookies til at fejle. En nyttig produktionstest er mere krævende — upload en skabelon, placér felter, send en underskriftsanmodning, gennemfør den, og download både det underskrevne dokument og auditoplysningerne.

DocuSeals rolle er enkel: dokumentunderskrift med et auditerbart underskriftsspor. Den driftsmæssige afgrænsning omfatter mere end webprocessen, så afhængigheder, gemt tilstand og offentlig route skal navngives eksplicit, før rigtige data tages i brug.

DocuSeals produktionsarkitektur

Tegn tre grænser rundt om DocuSeal: ingress til port 3000, persistent state og understøttende krav. Containeren kan udskiftes, men de to andre elementer kræver tydeligt definerede ejere. DocSeals netværkskontrakt er SMTP samt persistent database- og fillagring. Hold private endpoints på intern DNS, tillad kun nødvendige udgående kald, og giv DocuSeal en afgrænset service credential.

Diagrammet er komplet, når en ren klient kan uploade en skabelon, placere felter, sende en underskriftsanmodning, gennemføre den og downloade både det underskrevne dokument og auditoplysningerne. Indsaml tids- og ressourceinformation for dokumentlagring, PDF-behandling, maillevering, samtidige underskrivere og databasetransaktioner. Hvis transaktionen fejler, viser den første grænse, der ikke opfører sig som dokumenteret, om du skal undersøge routing, lokal kapacitet eller en understøttende service.

Design DocuSeal-restore før lancering

Beskyt DocuSeals state, før du optimerer containeren. Det nødvendige sæt består af database, underskrevne filer, skabeloner og audithændelser. Mount /data før bootstrap, skriv harmløse eksempeldata, og udskift containeren for at bevise, at stien faktisk er persistent. Hvis flere stores skal stemme overens, skal du dokumentere rækkefølgen, som writes sættes på pause og backups tages i.

Opbevar kopier uden for deployment-serveren, og krypter materiale, der indeholder credentials eller privat indhold. Recovery er vellykket, når skabeloner, submissions, underskrevne filer og audithændelser er tilbage, og en gennemført submission fortsat kan verificeres. Forskellen mellem et persistent mount og en uafhængig kopi er beskrevet i persistent storage og snapshots.

Luk midlertidig setup-adgang

Lav en threat model af den handling, DocuSeal udfører — ikke kun af loginformularen. Den største risiko her er at ændre SECRET_KEY_BASE eller at betragte en filkopi som en komplet audit-backup. Implementér denne grænse: Begræns administration af skabeloner, beskyt underskriverdata, og angiv den eksterne HTTPS-host, før du sender links.

Generér SECRET_KEY_BASE én gang, hold den ude af Git, og bevar den sammen med recovery-manifestet, fordi en ændring kan ugyldiggøre krypteret eller signeret application state. Løs ikke en permission-fejl ved at køre containeren som root eller mounte værten bredt. Ressourcebegrænsninger hører også til i security-designet, når brugere kan udløse dokumentlagring, PDF-behandling, maillevering, samtidige underskrivere og databasetransaktioner.

Dokumentér en kendt velfungerende DocuSeal-deployment

Gør DocuSeals smoke test til en gentagelig release-kommando eller en kort runbook. Outputtet skal demonstrere dette resultat: upload en skabelon, placér felter, send en underskriftsanmodning, gennemfør den, og download både det underskrevne dokument og auditoplysningerne. Notér applikationsversionen, container-digesten, route-hostnavnet og testdataidentifikatoren sammen med resultatet.

Kør den samme kontrol efter en almindelig containerudskiftning og efter gendannelse af database, underskrevne filer, skabeloner og audithændelser et andet sted. Restore er vellykket, når skabeloner, submissions, underskrevne filer og audithændelser er tilbage, og en gennemført submission fortsat kan verificeres. Sammenlign tidsforbrug og ressourceforbrug for dokumentlagring, PDF-behandling, maillevering, samtidige underskrivere og databasetransaktioner. En stor ændring bør undersøges, selv når den afsluttende handling stadig lykkes.

Udfør derefter en sikker fejltest: Nægt midlertidigt testidentiteten adgang til SMTP samt persistent database- og fillagring. Bekræft, at DocuSeal viser fejlen og vender tilbage til normal drift uden destruktive manuelle ændringer. Gem kun det nødvendige, redigerede logudsnit. Denne gate i fire dele dækker opstart, persistence, recovery og fejlhåndtering.

Et Docker-grundlag for DocuSeal

Start DocuSeal på en måde, der holder routen privat, indtil bootstrap er gennemført.

docker run -d \
  --name docuseal \
  --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -v docuseal-data:/data \
  -e SECRET_KEY_BASE=replace-with-a-long-random-value \
  docuseal/docuseal:latest

Hvis processen går i loop, skal du sammenligne imagets forventede bruger med ejeren af hver mounted sti. Hvis den forbliver kørende, skal du teste port 3000 lokalt og derefter gå direkte videre til workflowet: upload en skabelon, placér felter, send en underskriftsanmodning, gennemfør den, og download både det underskrevne dokument og auditoplysningerne. Pin image-versionen, når denne end-to-end-kontrol er bestået, og dokumentér den præcise konfiguration sammen med servicen.

Undgå, at succes i proxyen skjuler fejl i applikationen

Betragt den eksterne DocuSeal-URL som konfiguration, der skal overleve redeployments. Angiv først applikationshosten og HTTPS-indstillingerne, før du sender underskriftslinks; rout derefter hostnavnet til port 3000 med den oprindelige host og scheme intakt.

Checklist til deployment-reachability kan bevise, at requests når frem til containeren. Derefter skal den kendte fejl — at e-maillinks peger på localhost, eller at proxy-headere får secure cookies til at fejle — undersøges i DocuSeal, dets state eller dets workload og ikke i certificate automation.

Øv den risikable DocuSeal-ændring

En grøn container er nødvendig, men ikke tilstrækkelig. Serviceniveauindikatoren er en vellykket gennemførelse af “upload en skabelon, placér felter, send en underskriftsanmodning, gennemfør den, og download både det underskrevne dokument og auditoplysningerne”, mens de forventede belastningssignaler er dokumentlagring, PDF-behandling, maillevering, samtidige underskrivere og databasetransaktioner.

Change control er vigtigt, fordi databasemigrationer og kontinuitet for SECRET_KEY_BASE skal testes, eftersom underskrevne filer alene ikke genskaber auditsporet. Bevar det gamle image, test migrationer på en kopi af state, og dokumentér, om rollback understøttes, efter at schemaet er flyttet. Hvis e-maillinks peger på localhost, eller proxy-headere får secure cookies til at fejle, skal du diagnosticere den første grænse, der adskiller sig fra det fungerende miljø.

Knyt DocuSeal til Dockups livscyklus

Platformlaget for DocuSeal består af port 3000, ingress, TLS, runtime-konfiguration, storage og dependency reachability. Dockup kan reproducere disse dele for sin egen infrastruktur eller på en server, kunden forbinder.

Derefter færdiggør operatøren produktlaget: Angiv applikationshosten og HTTPS-indstillingerne, før du sender underskriftslinks; håndhæv denne adgangsregel — begræns administration af skabeloner, beskyt underskriverdata, og angiv den eksterne HTTPS-host, før du sender links; og kør “upload en skabelon, placér felter, send en underskriftsanmodning, gennemfør den, og download både det underskrevne dokument og auditoplysningerne”. Hvis testen registreres sammen med deploymenten, undgår du at forveksle automatisk provisioning med applikationsparathed.

Ofte stillede spørgsmål

Hvad skal DocuSeal bruge til en produktionsdeployment?

Route DocuSeal-containeren på port 3000 gennem én HTTPS-origin. Det understøttende netværkskrav er SMTP samt persistent database- og fillagring. Erklær ikke DocuSeal klar, før du kan uploade en skabelon, placere felter, sende en underskriftsanmodning, gennemføre den og downloade både det underskrevne dokument og auditoplysningerne.

Hvilke DocuSeal-data skal med i en backup?

Gør /data persistent, og medtag database, underskrevne filer, skabeloner og audithændelser i det samme recovery-manifest. En ren DocuSeal-restore er kun vellykket, når skabeloner, submissions, underskrevne filer og audithændelser er tilbage, og en gennemført submission fortsat kan verificeres.

Kræver DocuSeal HTTPS bag en reverse proxy?

Brug HTTPS til den offentlige DocuSeal-origin, og behold port 3000 på den interne route. Anvend DocuSeal-indstillingen korrekt: Angiv applikationshosten og HTTPS-indstillingerne, før du sender underskriftslinks. For DocuSeal beskytter HTTPS credentials eller brugerindhold under transport og sikrer ensartet origin-følsom klientadfærd.

Hvordan skal en DocuSeal-opgradering testes?

Gendan den aktuelle DocuSeal-state i en isoleret deployment, anvend kandidatversionen, og gentag dens acceptance-transaktion. Vær særligt opmærksom, fordi databasemigrationer og kontinuitet for SECRET_KEY_BASE skal testes, eftersom underskrevne filer alene ikke genskaber auditsporet. Behold det tidligere DocuSeal-image, indtil dets grænser for datamigration og rollback er forstået.