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

Slik self-hoster du IT Tools i 2026: TLS, stateless deployer og oppdateringer

En praktisk guide til self-hosting av IT Tools med Docker, porter, persistente data, TLS, sikkerhet, sikkerhetskopier og feilene som hindrer produksjonsbruk. Med kontroller.

Self-hosting av IT Tools blir interessant ved første redeploy, ikke ved første docker run. Hvis proxyen peker mot feil container-port eller cacher et gammelt application shell, kan Docker fortsatt rapportere en prosess som er helt frisk. Deployen nedenfor er organisert rundt observerbar atferd: last inn grensesnittet, generer en hash, dekod en JWT og bruk én converter etter at nettverket i nettleseren er koblet fra og assets er cachet.

Den tiltenkte oppgaven til IT Tools er tydelig: en samling hasher, convertere, generatorer og utviklerverktøy. Denne beskrivelsen forteller oss hva som må være offentlig, hva som bør forbli privat, og hva en backup må kunne gjenskape.

Skill IT Tools fra avhengighetene

Start med nettverksnavnerommet til IT Tools: web-lytteren bruker port 80, ikke en host-port kopiert fra en laptop-tutorial. Standardbygget av IT Tools trenger ingen database eller separat persistent runtime-tjeneste. Hold web-containeren utskiftbar, og plasser eventuell fremtidig authentication-, collaboration- eller storage-komponent bak en separat, dokumentert grense.

Når kravet er oppfylt, kjører du hele scenarioet — last inn grensesnittet, generer en hash, dekod en JWT og bruk én converter etter at nettverket i nettleseren er koblet fra og assets er cachet. Loggfør logger og målinger for minnebruk i klientens nettleser, levering av statiske assets og fraværet av database- eller køarbeid på serversiden. Disse bevisene blir den første kjente, fungerende arkitekturen og gjør senere flyttinger mellom Dockup compute og en tilkoblet server testbare.

Bygg en utskiftbar IT Tools-container

En minimal kommando er nyttig når den viser hva plattformen senere skal administrere.

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

Her forblir port 80 privat på hosten, og alle nødvendige paths er eksplisitte. Bekreft det lokale kravet før eksponering: ingen database, bare en liten web-container. Verifiser oppstart med både logger og det applikasjonsspesifikke beviset: last inn grensesnittet, generer en hash, dekod en JWT og bruk én converter etter at nettverket i nettleseren er koblet fra og assets er cachet. Når dette er verifisert, låser du image-versjonen slik at en rutinemessig utskifting ikke endrer atferden i det stille.

TLS er enkelt; genererte URL-er er ikke

Den offentlige grensen for IT Tools bør være ett kanonisk hostname, automatisk TLS og ett internt mål på port 80. Rutelegg den statiske webapplikasjonen via HTTPS, slik at klienter går tilbake til en adresse tjenesten kjenner igjen.

Hvis acceptance-transaksjonen feiler, klassifiserer du den første feilen. DNS-, sertifikat- og 502-problemer hører hjemme i sjekklisten for TLS-validering. Betingelsen «proxyen peker mot feil container-port eller cacher et gammelt application shell» hører hjemme på applikasjonssiden etter at en request faktisk har nådd IT Tools.

Volumes er bare det første laget i gjenopprettingen

Gjenoppretting av stateless IT Tools er en øvelse i reproduserbarhet. Ikke bevar serverdata; behold deploy-konfigurasjonen; det skrivbare containerlaget skal ikke inneholde noe som trengs etter en utskifting.

Bruk det pinnede imaget og den gjennomgåtte konfigurasjonen til å bygge IT Tools på nytt på tom compute. Øvelsen er bestått når en ny container gjenskaper det samme verktøysettet, fordi det ikke finnes noen user state på serversiden som må gjenopprettes. Følg deploy-workflowen fra Git til produksjon for det utskiftbare artefaktet, mens eventuelle valgfrie eksterne tjenester har en separat backup-prosedyre.

Dokumenter den nøyaktige digest-en og acceptance-inputen. Da kan en operatør skille en regresjon i applikasjonen fra manglende state og unngå å koble til et symbolsk volume som IT Tools aldri leser.

Lukk midlertidig tilgang til oppsettet

Sikkerhet for stateless IT Tools starter med supply chain- og ingress-kontroller, ikke med en fiktiv kontoinnstilling. Ikke anta at browser-side-verktøy gjør innlimte secrets trygge på en upålitelig host. Den tiltenkte grensen er å serve et trusted upstream-image og minne brukerne på at self-hosting ikke gjør en kompromittert nettleser pålitelig.

Serve IT Tools fra et trusted pinned image, legg til authentication på plattformnivå hvis målgruppen er privat, og eksponer bare port 80 gjennom HTTPS. Sett resource- og request-limits rundt minnebruk i klientens nettleser, levering av statiske assets og fraværet av database- eller køarbeid på serversiden. Siden det ikke finnes noen innebygd secret i denne baseline-konfigurasjonen, legger du access policy i route-konfigurasjonen og tester den fra en uautorisert klient.

Øv på den risikable endringen i IT Tools

Overvåk atferd, ikke bare prosessen: last inn grensesnittet, generer en hash, dekod en JWT og bruk én converter etter at nettverket i nettleseren er koblet fra og assets er cachet. De omkringliggende signalene er minnebruk i klientens nettleser, levering av statiske assets og fraværet av database- eller køarbeid på serversiden. Kjør denne kontrollen etter oppstart og etter en tidsplan som ikke kan overbelaste tjenesten.

En oppdatering kan promoteres først etter at du har testet at en image-oppdatering kan endre algoritmer eller dependencies på klientsiden, så pinn og verifiser bygget som håndterer sensitiv input. Bruk en parallell candidate, pinnede digests og kjente inputs; dette base-imaget har ingen schema migration som må øves på. Hvis proxyen peker mot feil container-port eller cacher et gammelt application shell, sammenligner du de to versjonene før du endrer ingress eller legger til storage.

Dokumenter en kjent, fungerende IT Tools-deploy

Ikke bruk trafikk fra den første brukeren som acceptance-test for IT Tools. Forbered ufarlig sample state og kjør hele handlingen «last inn grensesnittet, generer en hash, dekod en JWT og bruk én converter etter at nettverket i nettleseren er koblet fra og assets er cachet». Noter den nøyaktige offentlige URL-en, resultatet, image-referansen og loggintervallet som hører til kjøringen.

Bytt ut containeren og gjenta uten å bygge data på nytt. Gjenopprett deretter til en tom host; gjenopprettingen er vellykket når en ny container gjenskaper det samme verktøysettet, fordi det ikke finnes noen user state på serversiden som må gjenopprettes. Observer minnebruk i klientens nettleser, levering av statiske assets og fraværet av database- eller køarbeid på serversiden i hver gjennomføring, og definer et alert rundt forringelse av transaksjonen i stedet for rundt idle container-metrikker.

Én siste kontroll bør feile med vilje: send inn ufarlig input nær ressurs- eller formatgrensen som er knyttet til denne grensen: proxyen peker mot feil container-port eller cacher et gammelt application shell. Bekreft at den resulterende IT Tools-meldingen identifiserer den relevante grensen i stedet for å utløse sletting av data eller en endeløs restart. Gjenopprett den gyldige tilstanden og bekreft at den samme sample-transaksjonen lykkes. Behold denne korte øvelsen i release-sjekklisten.

En Dockup-deploy trenger fortsatt en acceptance-test for IT Tools

Dockup kan deploye det pinnede IT Tools-imaget til Dockup compute eller en server kunden kobler til, rutelegge det offentlige hostnamet til port 80 og utstede TLS automatisk. Standardcontaineren har ingen applikasjonsdatabase, så Dockup bør ikke koble til et meningsløst data-volume bare for å etterligne en stateful template.

Etter deploy rutelegger du den statiske webapplikasjonen via HTTPS. Dockup bør bevare runtime-innstillingene for IT Tools mens operatøren bekrefter dette lokale kravet: ingen database, bare en liten web-container. Kjør kontrollen med kjent output: last inn grensesnittet, generer en hash, dekod en JWT og bruk én converter etter at nettverket i nettleseren er koblet fra og assets er cachet. Hvis custom fonts, authentication, collaboration eller configuration legges til senere, skal du deklarere disse komponentene og staten deres eksplisitt i stedet for å samle dem i det stateless web-imaget. Da er one-click-deploy ærlig om hva Dockup administrerer, og hva IT Tools faktisk lagrer.

Vanlige spørsmål

Hva trenger IT Tools for en produksjonsdeploy?

Rutelegg IT Tools-containeren på port 80 gjennom én HTTPS-origin. Standardbygget av IT Tools trenger ingen database eller separat persistent runtime-tjeneste. Ikke erklær IT Tools som klart før du kan laste inn grensesnittet, generere en hash, dekode en JWT og bruke én converter etter at nettverket i nettleseren er koblet fra og assets er cachet.

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

Standardimaget til IT Tools har ingen nødvendig mount for applikasjonsdata. Bevar deploy-konfigurasjonen, og ta backup av eventuell tilkoblet state separat. Gjenopprettingen er vellykket når en ny container gjenskaper det samme verktøysettet, fordi det ikke finnes noen user state på serversiden som må gjenopprettes.

Krever IT Tools HTTPS bak en reverse proxy?

Bruk HTTPS for den offentlige IT Tools-originen, og behold port 80 på den interne ruten. Bruk IT Tools-innstillingen riktig: rutelegg den statiske webapplikasjonen via HTTPS. For IT Tools beskytter HTTPS credentials eller brukerinnhold under overføring og sørger for konsistent klientatferd som er følsom for origin.

Hvordan bør en IT Tools-oppgradering testes?

Deploy candidate-imaget for IT Tools ved siden av den nåværende versjonen, og gjenta acceptance-transaksjonen med kjent input. Vær spesielt oppmerksom på at en image-oppdatering kan endre algoritmer eller dependencies på klientsiden, så pinn og verifiser bygget som håndterer sensitiv input. Standardcontaineren har ingen datamigrering, så behold den forrige digest-en til output- og kompatibilitetskontrollene er bestått.