JournalindeksDockup / feltnote
Note / self-host-it-tools

Sådan selvhoster du IT Tools i 2026: TLS, stateless deploys og opdateringer

En praktisk guide til selvhosting af IT Tools med fokus på Docker, porte, persistent data, TLS, sikkerhed, backups og de fejl, der spænder ben for brug i produktion. Med checks.

Selvhosting af IT Tools bliver interessant ved den første redeploy – ikke ved den første docker run. Hvis proxyen peger på den forkerte containerport eller cacher en gammel application shell, kan Docker stadig rapportere en proces, der er helt sund. Deploymentet nedenfor er bygget op omkring observerbar adfærd: Indlæs interfacet, generér en hash, dekod en JWT, og brug én converter, mens browserens netværk er afbrudt, efter at assets er cachet.

Det tilsigtede formål med IT Tools er tydeligt: samlinger af hashes, converters, generators og developer utilities. Den beskrivelse fortæller os, hvad der skal være offentligt, hvad der bør forblive privat, og hvad en backup skal kunne genskabe.

Adskil IT Tools fra dets dependencies

Start med IT Tools' network namespace: Dets web listener er port 80 – ikke en hostport, der er kopieret fra en laptop-tutorial. Standardversionen af IT Tools kræver ingen database eller separat persistent runtime service. Hold webcontaineren udskiftelig, og placér fremtidig authentication, collaboration eller storage bag en separat, dokumenteret grænse.

Når kravet er opfyldt, skal du køre det komplette scenarie – indlæs interfacet, generér en hash, dekod en JWT, og brug én converter, mens browserens netværk er afbrudt, efter at assets er cachet. Registrér logs og målinger for client browser memory, levering af static assets samt fraværet af server-side database- eller queue-arbejde. Denne dokumentation bliver den første kendte, velfungerende arkitektur og gør senere flytninger mellem Dockup compute og en tilknyttet server testbare.

Byg en udskiftelig IT Tools-container

En minimal kommando er nyttig, når den viser, hvad platformen senere kommer til at administrere.

docker run -d \
  --name it-tools \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  corentinth/it-tools:latest

Her forbliver port 80 privat på hosten, og alle nødvendige paths er eksplicit angivet. Bekræft det lokale krav, før du eksponerer tjenesten: ingen database – kun en lille webcontainer. Verificér opstart med både logs og det applikationsspecifikke bevis: indlæs interfacet, generér en hash, dekod en JWT, og brug én converter, mens browserens netværk er afbrudt, efter at assets er cachet. Når det er verificeret, skal du låse image-versionen, så en rutinemæssig udskiftning ikke i stilhed ændrer adfærden.

TLS er nemt – genererede URL'er er ikke

Den offentlige grænse for IT Tools bør være ét canonical hostname, automatisk TLS og ét internt target på port 80. Rout den statiske webapplikation gennem HTTPS, så klienterne vender tilbage til en adresse, tjenesten genkender.

Hvis acceptance-transaktionen fejler, skal du kategorisere den første fejl. DNS-, certificate- og 502-problemer hører til i TLS-valideringschecklisten. Betingelsen “proxyen peger på den forkerte containerport eller cacher en gammel application shell” hører til på applikationssiden, efter at en request er nået frem til IT Tools.

Volumes er kun det første recovery-lag

Recovery af stateless IT Tools er en øvelse i reproducerbarhed. Gem ingen serverdata; behold deployment-konfigurationen; det writable container layer må ikke indeholde noget, der er nødvendigt efter en udskiftning.

Brug det pinnede image og den gennemgåede konfiguration til at genopbygge IT Tools på blank compute. Øvelsen er godkendt, når en frisk container reproducerer det samme toolset, fordi der ikke er nogen server-side user state, der skal gendannes. Følg deployment-workflowet fra Git til produktion for det udskiftelige artifact, mens enhver valgfri ekstern service har sin egen backup-procedure.

Dokumentér den nøjagtige digest og acceptance-inputtet. Det gør det muligt for en operator at skelne mellem en applikationsregression og manglende state og undgår, at du tilknytter et ceremonielt volume, som IT Tools aldrig læser.

Luk midlertidig setup-adgang

Sikkerhed for stateless IT Tools starter med supply-chain- og ingress-kontroller – ikke med en fiktiv account setting. Antag ikke, at browserbaserede tools gør indsatte secrets sikre på en upålidelig host. Den tilsigtede grænse er at levere et trusted upstream image og minde brugerne om, at selfhosting ikke gør en kompromitteret browser troværdig.

Servér IT Tools fra et trusted pinned image, tilføj platform authentication, hvis målgruppen er privat, og eksponér kun port 80 gennem HTTPS. Sæt resource- og request-limits omkring client browser memory, levering af static assets samt fraværet af server-side database- eller queue-arbejde. Da denne baseline ikke indeholder nogen indbygget secret, skal du holde access policy i route-konfigurationen og teste den fra en unauthorized client.

Øv den risikable IT Tools-ændring

Overvåg adfærden – ikke kun processen: indlæs interfacet, generér en hash, dekod en JWT, og brug én converter, mens browserens netværk er afbrudt, efter at assets er cachet. De omgivende pressuresignaler er client browser memory, levering af static assets samt fraværet af server-side database- eller queue-arbejde. Kør dette check efter opstart og efter en tidsplan, der ikke kan overbelaste tjenesten.

En opdatering må kun promoveres, efter at du har testet, at en image-opdatering kan ændre client-side algorithms eller dependencies, så du skal pinne og verificere det build, der håndterer sensitive input. Brug en parallel candidate, pinnede digests og kendte inputs; dette base image har ingen schema migration, der skal øves. Hvis proxyen peger på den forkerte containerport eller cacher en gammel application shell, skal du sammenligne de to versioner, før du ændrer ingress eller tilføjer storage.

Dokumentér et kendt, velfungerende IT Tools-deployment

Lad ikke trafik fra de første brugere være acceptance-testen for IT Tools. Forbered harmløs sample state, og kør den komplette handling: “indlæs interfacet, generér en hash, dekod en JWT, og brug én converter, mens browserens netværk er afbrudt, efter at assets er cachet”. Notér den nøjagtige offentlige URL, resultatet, image-referencen og det loginterval, der er knyttet til kørslen.

Udskift containeren, og gentag uden at genopbygge data. Gendan derefter på en tom host; recovery-betingelsen er, at en frisk container reproducerer det samme toolset, fordi der ikke er nogen server-side user state, der skal gendannes. Observér client browser memory, levering af static assets samt fraværet af server-side database- eller queue-arbejde i hvert gennemløb, og definér en alert omkring forringelse af transaktionen i stedet for omkring idle container metrics.

Et sidste check bør fejle med vilje: indsend harmløst input tæt på den resource- eller formatgrænse, der er knyttet til denne grænse: proxyen peger på den forkerte containerport eller cacher en gammel application shell. Kontrollér, at den resulterende IT Tools-meddelelse identificerer den relevante grænse i stedet for at udløse sletning af data eller en endeløs restart. Genskab den gyldige tilstand, og bekræft, at den samme sample-transaktion lykkes. Behold dette korte drill i release-checklisten.

Et Dockup-deployment kræver stadig en IT Tools-acceptancetest

Dockup kan deploye det pinnede IT Tools-image til Dockup compute eller en server, som kunden tilknytter, route det offentlige hostname til port 80 og udstede TLS automatisk. Standardcontaineren har ingen application database, så Dockup bør ikke tilknytte et meningsløst data-volume blot for at efterligne en stateful template.

Efter deployment skal du route den statiske webapplikation gennem HTTPS. Dockup bør bevare IT Tools' runtime settings, mens operatoren bekræfter dette lokale krav: ingen database – kun en lille webcontainer. Kør known-output-checket: indlæs interfacet, generér en hash, dekod en JWT, og brug én converter, mens browserens netværk er afbrudt, efter at assets er cachet. Hvis custom fonts, authentication, collaboration eller configuration tilføjes senere, skal du deklarere disse komponenter og deres state eksplicit i stedet for at folde dem ind i det stateless web-image. Det holder one-click-deploymentet ærligt om, hvad Dockup administrerer, og hvad IT Tools faktisk gemmer.

Ofte stillede spørgsmål

Hvad kræver IT Tools for et deployment i produktion?

Rout IT Tools-containeren på port 80 gennem én HTTPS-origin. Standardversionen af IT Tools kræver ingen database eller separat persistent runtime service. Kald ikke IT Tools klar, før du kan indlæse interfacet, generere en hash, dekode en JWT og bruge én converter, mens browserens netværk er afbrudt, efter at assets er cachet.

Hvilke IT Tools-data hører hjemme i en backup?

Standardimage af IT Tools har ingen påkrævet mount til application data. Bevar deployment-konfigurationen, og tag backup af enhver tilknyttet state separat; recovery er godkendt, når en frisk container reproducerer det samme toolset, fordi der ikke er nogen server-side user state, der skal gendannes.

Kræver IT Tools HTTPS bag en reverse proxy?

Brug HTTPS for den offentlige IT Tools-origin, og behold port 80 på den interne route. Anvend IT Tools-indstillingen korrekt: rout den statiske webapplikation gennem HTTPS. For IT Tools beskytter HTTPS credentials eller user content under transmission og sikrer, at origin-sensitive client behavior forbliver konsistent.

Hvordan bør en IT Tools-opgradering testes?

Deploy det nye IT Tools-image ved siden af den aktuelle version, og gentag acceptance-transaktionen med et kendt input. Vær særligt opmærksom, fordi en image-opdatering kan ændre client-side algorithms eller dependencies; pin og verificér derfor det build, der håndterer sensitive input. Standardcontaineren har ingen data migration, så behold den tidligere digest, indtil output- og kompatibilitetskontrollerne er bestået.