Päiväkirjan hakemistoDockup / kenttämuistio
Note / self-host-it-tools

IT Toolsin itsehostaus vuonna 2026: TLS, tilattomat käyttöönotot ja päivitykset

Käytännön opas IT Toolsin itsehostaukseen: Docker, portit, pysyvä data, TLS, tietoturva, varmuuskopiot ja tuotantokäytön estävät ongelmat. Mukana tarkistukset.

IT Toolsin itsehostaus alkaa kiinnostaa ensimmäisen uudelleenkäyttöönoton, ei ensimmäisen docker run -komennon yhteydessä. Jos proxy ohjaa liikenteen väärään container-porttiin tai tallentaa vanhan application shellin välimuistiin, Docker voi silti ilmoittaa prosessin olevan täysin terve. Alla oleva käyttöönotto perustuu havaittavaan toimintaan: käyttöliittymän lataamiseen, tiivisteen luomiseen, JWT:n purkamiseen ja yhden muuntimen käyttämiseen, kun selaimen verkkoyhteys katkaistaan resurssien välimuistiin lataamisen jälkeen.

IT Toolsin käyttötarkoitus on selkeä: tiivisteiden, muuntimien, generaattorien ja kehittäjätyökalujen kokoelma. Tämä kertoo, minkä on oltava julkisesti saatavilla, mikä on pidettävä yksityisenä ja mitä varmuuskopion on pystyttävä palauttamaan.

Erota IT Tools sen riippuvuuksista

Aloita IT Toolsin network namespacesta: sen web-kuuntelija on portissa 80, ei läppäriohjeesta kopioitu host-portti. Tavallinen IT Tools -build ei tarvitse tietokantaa eikä erillistä pysyvää runtime-palvelua. Pidä web-container korvattavana ja sijoita mahdollinen tuleva autentikointi-, yhteistyö- tai tallennuskomponentti erillisen, dokumentoidun rajapinnan taakse.

Kun vaatimus on täytetty, suorita koko skenaario — lataa käyttöliittymä, luo tiiviste, pura JWT ja käytä yhtä muunninta, kun selaimen verkkoyhteys on katkaistu resurssien välimuistiin lataamisen jälkeen. Kirjaa lokit ja mittaukset selaimen asiakasmuistista, staattisten resurssien toimituksesta sekä siitä, ettei palvelimella käsitellä tietokanta- tai jonotyötä. Näytöstä muodostuu ensimmäinen tunnetusti toimiva arkkitehtuuri, ja myöhemmistä siirroista Dockupin computen ja liitetyn palvelimen välillä tulee testattavia.

Rakenna korvattava IT Tools -container

Minimaalinen komento on hyödyllinen, kun se paljastaa, mitä alusta myöhemmin hallinnoi.

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

Portti 80 pysyy tässä hostin sisäisenä, ja kaikki tarvittavat polut on määritetty eksplisiittisesti. Vahvista paikallinen vaatimus ennen julkistamista: ei tietokantaa, vain pieni web-container. Varmista käynnistys sekä lokien että sovelluskohtaisen näytön avulla: lataa käyttöliittymä, luo tiiviste, pura JWT ja käytä yhtä muunninta, kun selaimen verkkoyhteys on katkaistu resurssien välimuistiin lataamisen jälkeen. Kun toiminta on vahvistettu, lukitse imagen versio, jotta tavallinen korvaaminen ei muuta toimintaa huomaamatta.

TLS on helppo; generoituja URL-osoitteita ei ole

IT Toolsin julkisen rajapinnan tulisi käyttää yhtä kanonista hostnamea, automaattista TLS:ää ja yhtä sisäistä kohdetta portissa 80. Reititä staattinen web-sovellus HTTPS:n kautta, jotta clientit palaavat osoitteeseen, jonka palvelu tunnistaa.

Jos hyväksymistesti epäonnistuu, luokittele ensimmäinen virhe. DNS-, sertifikaatti- ja 502-ongelmat kuuluvat TLS-validoinnin tarkistuslistaan. Ehto ”proxy ohjaa liikenteen väärään container-porttiin tai tallentaa vanhan application shellin välimuistiin” kuuluu sovelluspuolelle sen jälkeen, kun pyyntö on saavuttanut IT Toolsin onnistuneesti.

Volumet ovat vasta palautuksen ensimmäinen kerros

Tilattoman IT Toolsin palauttaminen on toistettavuusharjoitus. Älä säilytä palvelindataa; pidä käyttöönoton määritys tallessa; kirjoitettavan container-kerroksen ei pitäisi sisältää mitään korvaamisen jälkeen tarvittavaa.

Rakenna IT Tools uudelleen tyhjälle computelle lukitun imagen ja tarkistetun määrityksen avulla. Harjoitus onnistuu, kun uusi container tuottaa saman työkalujoukon, koska palautettavaa palvelinpuolen käyttäjätilaa ei ole. Noudata Git-repositorion tuotantoonviennin työnkulkua korvattavan artefaktin osalta, kun taas mahdollinen ulkoinen palvelu tarvitsee erillisen varmuuskopiointimenettelyn.

Dokumentoi tarkka digest ja hyväksymistestin syöte. Näin operaattori voi erottaa sovellusregression puuttuvasta tilasta eikä liitä käyttöön näennäistä volumea, jota IT Tools ei koskaan lue.

Sulje väliaikainen käyttöönoton aikainen pääsy

Tilattoman IT Toolsin tietoturva alkaa supply chainin ja ingressin hallinnasta, ei kuvitteellisesta käyttäjätiliasetuksesta. Älä oleta, että selainpuolen työkalut tekevät liitetyistä salaisuuksista turvallisia epäluotettavalla hostilla. Tarkoitettu rajaus on tarjota luotetusta upstream-imagesta ja muistuttaa käyttäjiä siitä, ettei itsehostaus tee vaarantuneesta selaimesta luotettavaa.

Tarjoa IT Tools luotetusta, lukitusta imagesta, lisää alustatason autentikointi, jos käyttäjäjoukko on rajattu, ja julkaise HTTPS:n kautta vain portti 80. Aseta resurssi- ja pyyntörajoitukset selaimen asiakasmuistin, staattisten resurssien toimituksen sekä palvelinpuolen tietokanta- ja jonotyön puuttumisen ympärille. Koska tässä perustilassa ei ole sisäänrakennettua salaisuutta, pidä käyttöoikeuskäytäntö route-määrityksessä ja testaa se valtuuttamattomalta clientilta.

Harjoittele riskialtis IT Tools -muutos

Seuraa toimintaa, älä pelkkää prosessia: lataa käyttöliittymä, luo tiiviste, pura JWT ja käytä yhtä muunninta, kun selaimen verkkoyhteys on katkaistu resurssien välimuistiin lataamisen jälkeen. Seurattavia paineen merkkejä ovat selaimen asiakasmuisti, staattisten resurssien toimitus sekä palvelinpuolen tietokanta- ja jonotyön puuttuminen. Suorita tarkistus käynnistyksen jälkeen ja aikataululla, joka ei voi ylikuormittaa palvelua.

Päivitys voidaan ottaa käyttöön vasta, kun on testattu, että imagen päivitys voi muuttaa client-puolen algoritmeja tai riippuvuuksia; siksi sensitive inputia käsittelevä build on lukittava ja varmennettava. Käytä rinnakkaista ehdokasta, lukittuja digestejä ja tunnettuja syötteitä; tässä base-imagessa ei ole harjoiteltavaa schema-migraatiota. Jos proxy ohjaa liikenteen väärään container-porttiin tai tallentaa vanhan application shellin välimuistiin, vertaa versioita ennen ingressin muuttamista tai storagen lisäämistä.

Dokumentoi tunnetusti toimiva IT Tools -käyttöönotto

Älä käytä ensimmäisen käyttäjän liikennettä IT Toolsin hyväksymistestinä. Valmistele harmiton esimerkkitila ja suorita koko toiminto ”lataa käyttöliittymä, luo tiiviste, pura JWT ja käytä yhtä muunninta, kun selaimen verkkoyhteys on katkaistu resurssien välimuistiin lataamisen jälkeen”. Merkitse muistiin tarkka julkinen URL, tulos, image-viite ja ajoon liittyvä lokijakso.

Korvaa container ja toista testi ilman datan uudelleenrakentamista. Palauta seuraavaksi tyhjälle hostille; palautusehto täyttyy, kun uusi container tuottaa saman työkalujoukon, koska palautettavaa palvelinpuolen käyttäjätilaa ei ole. Tarkkaile selaimen asiakasmuistia, staattisten resurssien toimitusta sekä palvelinpuolen tietokanta- ja jonotyön puuttumista jokaisella kierroksella ja määritä hälytys toiminnon heikkenemisen, ei joutavan containerin mittareiden, perusteella.

Yhden viimeisen tarkistuksen pitäisi epäonnistua tarkoituksella: lähetä tämän rajauksen resurssi- tai muotorajan tuntumassa harmiton syöte, jonka yhteydessä proxy ohjaa liikenteen väärään container-porttiin tai tallentaa vanhan application shellin välimuistiin. Varmista, että tuloksena saatava IT Toolsin viesti tunnistaa olennaisen rajapinnan eikä käynnistä datan poistamista tai loputonta uudelleenkäynnistystä. Palauta toimiva tila ja varmista, että sama esimerkkitoiminto onnistuu. Pidä tämä lyhyt harjoitus mukana release-tarkistuslistassa.

Dockupin käyttöönotto tarvitsee silti IT Toolsin hyväksymistestin

Dockup voi ottaa lukitun IT Tools -imagen käyttöön Dockup computessa tai asiakkaan liittämässä palvelimessa, reitittää julkisen hostnamen porttiin 80 ja myöntää TLS:n automaattisesti. Tavallisella containerilla ei ole sovellustietokantaa, joten Dockupin ei pitäisi liittää merkityksetöntä datavolumea vain tilallista templatea jäljitelläkseen.

Käyttöönoton jälkeen reititä staattinen web-sovellus HTTPS:n kautta. Dockupin pitäisi säilyttää IT Toolsin runtime-asetukset, kun operaattori vahvistaa paikallisen vaatimuksen: ei tietokantaa, vain pieni web-container. Suorita tunnetun tuloksen tarkistus: lataa käyttöliittymä, luo tiiviste, pura JWT ja käytä yhtä muunninta, kun selaimen verkkoyhteys on katkaistu resurssien välimuistiin lataamisen jälkeen. Jos myöhemmin lisätään custom fontteja, autentikointi, yhteistyöominaisuuksia tai määrityksiä, ilmoita nämä komponentit ja niiden tila eksplisiittisesti sen sijaan, että ne yhdistettäisiin tilattomaan web-imageen. Näin yhden napsautuksen käyttöönotto kertoo rehellisesti, mitä Dockup hallinnoi ja mitä IT Tools itse todella tallentaa.

Usein kysytyt kysymykset

Mitä IT Tools tarvitsee tuotantokäyttöönottoon?

Reititä IT Tools -container portissa 80 yhden HTTPS-originin kautta. Tavallinen IT Tools -build ei tarvitse tietokantaa eikä erillistä pysyvää runtime-palvelua. Älä ilmoita IT Toolsia valmiiksi, ennen kuin voit ladata käyttöliittymän, luoda tiivisteen, purkaa JWT:n ja käyttää yhtä muunninta, kun selaimen verkkoyhteys on katkaistu resurssien välimuistiin lataamisen jälkeen.

Mitkä IT Toolsin tiedot kuuluvat varmuuskopioon?

Tavallisella IT Tools -imagella ei ole pakollista sovellusdatan mounttausta. Säilytä käyttöönoton määritys ja varmuuskopioi siihen yhdistetty tila erikseen; palautus onnistuu, kun uusi container tuottaa saman työkalujoukon, koska palautettavaa palvelinpuolen käyttäjätilaa ei ole.

Tarvitseeko IT Tools HTTPS:n reverse proxyn takana?

Käytä julkisessa IT Tools -originissa HTTPS:ää ja pidä portti 80 sisäisessä reitissä. Aseta IT Toolsin määritys oikein: reititä staattinen web-sovellus HTTPS:n kautta. IT Toolsin tapauksessa HTTPS suojaa siirrettäviä tunnistetietoja tai käyttäjäsisältöä ja pitää originista riippuvan client-toiminnan yhdenmukaisena.

Miten IT Toolsin päivitys pitäisi testata?

Ota ehdokas-IT Tools-image käyttöön nykyisen rinnalle ja toista hyväksymistesti tunnetulla syötteellä. Kiinnitä erityistä huomiota siihen, että imagen päivitys voi muuttaa client-puolen algoritmeja tai riippuvuuksia, joten sensitive inputia käsittelevä build on lukittava ja varmennettava. Tavallisella containerilla ei ole datamigraatiota, joten säilytä edellinen digest, kunnes tulos- ja yhteensopivuustarkistukset on läpäisty.