Excalidrawin itsehostaus vuonna 2026: yhteistyö, TLS ja datarajat
Käytännön opas Excalidrawin itsehostaukseen: Docker, portit, pysyvä data, TLS, tietoturva, varmuuskopiot ja tuotantokäytön estävät ongelmat. Vuonna 2026.
Jos olet jo kokeillut Excalidrawin itsehostausta, tämä turhauttava tilanne on luultavasti tuttu: käyttöliittymä näkyy, mutta käyttöliittymä latautuu ja yhteistyötoiminnot eivät toimi, koska sen WebSocket-päätepiste on väärä. Säilön luominen uudelleen korjaa harvoin URL-osoitteiden, tilan ja riippuvuuksien välisen ristiriidan.
Tässä läpikäynnissä käytetään yhtä konkreettista hyväksymiskriteeriä — piirrä ja vie kaavio, jaa yhteistyölinkki määritetyn huonepalvelun kautta ja yhdistä toinen selain uudelleen. Jokainen määritysvalinta arvioidaan tämän kriteerin perusteella eikä vihreän säilömerkin perusteella.
Palauta Excalidraw tyhjälle palvelimelle
Perus-Excalidraw-asennuksessa säilökerros on kertakäyttöinen, eikä datavolyymiä tarvita. Palautusmanifesti ei sisällä palvelindataa peruskuvassa; varmuuskopioi erillinen yhteistyöpalvelu. Pidä image digest, määritykset ja erikseen ylläpidetyt resurssit muutostenhallinnan piirissä.
Poista palvelu ja luo se uudelleen puhtaassa ympäristössä. Varmista sen jälkeen, että asiakasohjelma rakentuu uudelleen kiinnitetystä imagesta ja että erillinen huonepalvelu palauttaa kaiken yhteistyötilan, jonka se lupaa säilyttää. Git-repositorion vieminen tuotantoon on tässä olennainen malli: rakenna artefakti uudelleen ja varmuuskopioi vain todella olemassa oleva ulkoinen tila.
Älä merkitse hakemistoa pysyväksi, ellei Excalidraw kirjoita sinne merkityksellistä dataa. Tyhjät tai käyttämättömät liitokset luovat väärää varmuutta ja saavat myöhemmät ylläpitäjät etsimään tilaa väärästä paikasta.
Kartoita Excalidraw ennen Dockerin käsittelyä
Excalidrawin HTTP-prosessi kuuntelee porttia 80; pidä tämä portti sovellusverkossa ja julkaise vain alustan reitti. Paikallinen runtime-vaatimus on erillinen huonepalvelin ja tallennuskerros pysyvää yhteistyötä varten. Pidä sen elinkaari selkeästi määritettynä, jotta Excalidrawin siirtäminen palvelimelta toiselle ei muuta toimintaa huomaamatta.
Kirjaa raja lyhyenä sopimuksena: kuka vaatimuksesta vastaa, mitä tunnistetietoa käytetään, mikä aikakatkaisu hyväksytään ja miten virhe näkyy. Suorita sitten tämä tapahtumaketju: piirrä ja vie kaavio, jaa yhteistyölinkki määritetyn huonepalvelun kautta ja yhdistä toinen selain uudelleen. Tarkkaile perusimagen staattisten resurssien toimitusta. WebSocket-yhteydet ja huoneen tila kuuluvat suorituksen aikana erilliselle yhteistyöpalvelulle, koska tämä työkuorma antaa hyödyllisemmän lähtökohdan koon määrittämiseen kuin joutilas säilö.
Excalidrawin tuotantohyväksyntätesti
Excalidrawin release candidate ansaitsee liikenteen suorittamalla kiinteän skenaarion: piirrä ja vie kaavio, jaa yhteistyölinkki määritetyn huonepalvelun kautta ja yhdistä toinen selain uudelleen. Tallenna tämän skenaarion image digest, tehokas ei-salainen määritys, julkinen origin ja aikaleimat. Testidatan tulee olla hävitettävää, mutta riittävän realistista kulkemaan samaa reittiä kuin käyttäjien liikenne.
Suorita testi runtimen vaihtamisen jälkeen ja rakenna palvelu uudelleen ilman palvelindataa perusimagessa; varmuuskopioi erillinen yhteistyöpalvelu. Palautus onnistuu, kun asiakasohjelma rakentuu uudelleen kiinnitetystä imagesta ja erillinen huonepalvelu palauttaa kaiken yhteistyötilan, jonka se lupaa säilyttää. Vertaa perusimagen staattisten resurssien toimituksen sekä erilliselle yhteistyöpalvelulle kuuluvien WebSocket-yhteyksien ja huoneen tilan resurssimittauksia edelliseen julkaisuun ja selvitä merkittävä poikkeama ennen julkaisua.
Suorita lopuksi tämä hallittu virhetilanne: lähetä tämän rajan yhteydessä olevaan resurssi- tai muotorajoitukseen nähden harmitonta syötettä: käyttöliittymä latautuu, mutta yhteistyötoiminnot eivät toimi, koska sen WebSocket-päätepiste on väärä. Varmista, että Excalidraw selittää virheen, ei vahingoita olemassa olevaa tilaa ja jatkaa toimintaansa, kun kelvollinen tila palautuu. Tallenna anonymisoitu lokikatkelma ja palautumisaika. Yhdessä nämä tarkistukset kattavat toiminnan, säilyvyyden ja operoitavuuden eivätkä vain prosessin käynnissäoloa.
Muuta paikallinen komento tarkasteltavaksi palveluksi
Tuotantoa muistuttava käynnistys on tarkoituksella tylsä: nimetty tila, selkeä portti eikä salaisuuksia imagessa.
docker run -d \
--name excalidraw \
--restart unless-stopped \
-p 127.0.0.1:80:80 \
excalidraw/excalidraw:latest
Esimerkki on lähtökohta, ei täydellinen tukipino. Varmista paikallinen vaatimus ennen julkaisua: erillinen huonepalvelin ja tallennuskerros pysyvää yhteistyötä varten. Tarkista käytössä olevat liitokset ja kuuntelija. Kokeile sitten piirtää ja viedä kaavio, jakaa yhteistyölinkki määritetyn huonepalvelun kautta ja yhdistää toinen selain uudelleen. Kiinnitä toimiva image ennen seuraavaa uudelleenkäynnistystä.
Excalidrawia koskevat tietoturvapäätökset
Excalidrawin tapauksessa käyttäjätilien kierrättäminen ei ole kovennustehtävä, koska vakioimagessa ei ole käyttäjätilavarastoa. Keskity siihen, ettei staattinen image yksin tarjoa pysyvää jaettua huonetallennusta, ja suojaa yksityiset yhteistyöhuoneet. Älä myöskään väitä yhteistyön olevan pysyvää, jos käytössä on vain Excalidraw-verkkokuva.
Käytä HTTPS:ää, tarvittaessa alustan autentikointia ja tarkistettua image digestia. Älä liitä mukaan asiaankuulumattomia isäntäkoneen tietoja ja rajoita perusimagen staattisten resurssien toimituksesta sekä erilliselle yhteistyöpalvelulle kuuluvista WebSocket-yhteyksistä ja huoneen tilasta muodostuvaa työkuormaa. Puhtaan ulkoisen asiakkaan tulee nähdä tarkoitettu build, kun taas luvaton asiakas tulee torjua ennen säilöön pääsyä, jos käyttöoikeuksia on rajoitettu.
Reititä Excalidraw valehtelematta HTTPS:stä
TLS:n käyttöönotto on vain puolet Excalidraw-reitistä. Tarjoa asiakasohjelma HTTPS:n kautta ja määritä yhteistyön päätepisteet erikseen. Ohjaa liikenne sisäisesti porttiin 80 ja välitä ulkoinen skeema, jotta muodostetut URL-osoitteet ja suojatut evästeet pysyvät yhdenmukaisina.
Käytä täydellistä Excalidraw-skenaariota puhtaasta verkosta, älä pelkkää juurisivua. 502-virhe tai sertifikaattivirhe voidaan rajata automaattisella domain- ja TLS-määrityksellä. Jos liikenne saavuttaa prosessin ja käyttöliittymä latautuu, mutta yhteistyötoiminnot eivät toimi väärän WebSocket-päätepisteen vuoksi, diagnosoi ongelma siinä kohdassa, jossa se syntyy, äläkä lisää uudelleenohjauksia toistensa päälle.
Päivitä Excalidraw arvailematta
Excalidrawin hyödyllinen palveluindikaattori on ”piirrä ja vie kaavio, jaa yhteistyölinkki määritetyn huonepalvelun kautta ja yhdistä toinen selain uudelleen” -toiminnon onnistunut suoritus. Yhdistä tähän perusimagen staattisten resurssien toimitus sekä erilliselle yhteistyöpalvelulle kuuluvat WebSocket-yhteydet ja huoneen tila; vihreä juurisivu ei kerro mitään tulosteen yhteensopivuudesta tai resurssien loppumisesta.
Ennen imagen vaihtamista huomioi tämä riski: frontend-, room-server- ja storage-versiot on testattava yhdessä sen sijaan, että oletettaisiin staattisen clientin omistavan jaetun datan. Testaa edustavat ja raja-arvojen syötteet molempia versioita vasten ja säilytä vanha digest, kunnes ehdokas läpäisee testit. Jos käyttöliittymä latautuu, mutta yhteistyötoiminnot eivät toimi väärän WebSocket-päätepisteen vuoksi, tarkista pyynnön muoto, clientin toiminta ja runtime-lokit ennen reitti- tai tallennusasetusten muuttamista.
Käytä Dockupia alustakerrokseen
Yhden napsautuksen Excalidraw-templateen tulee sisällyttää image digest, portti 80, health check -ajoitus, domain ja TLS. Koska peruspalvelu on tilaton, Dockup voi luoda sen suoraan uudelleen Dockupin compute-ympäristöön tai liitetylle koneelle teeskentelemättä, että tyhjä volyymi olisi varmuuskopio.
Käynnistyksen jälkeen tarjoa asiakasohjelma HTTPS:n kautta ja määritä yhteistyön päätepisteet erikseen. Dockupin tulee säilyttää Excalidraw-runtimen asetukset samalla, kun ylläpitäjä vahvistaa tämän paikallisen vaatimuksen: erillinen huonepalvelin ja tallennuskerros pysyvää yhteistyötä varten. Varmista seuraava lopputulos: piirrä ja vie kaavio, jaa yhteistyölinkki määritetyn huonepalvelun kautta ja yhdistä toinen selain uudelleen. Kaikille myöhemmille tilallisille laajennuksille on määritettävä oma liitos, salaisuus ja palautustesti sen sijaan, että perustemplaten merkitystä muutettaisiin huomaamatta.
Usein kysytyt kysymykset
Mitä Excalidraw tarvitsee tuotantoasennukseen?
Reititä Excalidraw-säilö portin 80 kautta yhden HTTPS-originiin. Paikallinen runtime-vaatimus on erillinen huonepalvelin ja tallennuskerros pysyvää yhteistyötä varten. Älä pidä Excalidrawia valmiina, ennen kuin voit piirtää ja viedä kaavion, jakaa yhteistyölinkin määritetyn huonepalvelun kautta ja yhdistää toisen selaimen uudelleen.
Mitkä Excalidrawin tiedot kuuluvat varmuuskopioihin?
Vakio-Excalidraw-image ei edellytä sovellusdatan liitosta. Säilytä sen käyttöönottamääritykset ja varmuuskopioi siihen yhdistetty tila erikseen; palautus onnistuu, kun asiakasohjelma rakentuu uudelleen kiinnitetystä imagesta ja erillinen huonepalvelu palauttaa kaiken yhteistyötilan, jonka se lupaa säilyttää.
Edellyttääkö Excalidraw HTTPS:ää käänteisen proxyn takana?
Käytä julkisessa Excalidraw-originissa HTTPS:ää ja pidä portti 80 sisäisessä reitissä. Määritä Excalidrawin asetus oikein: tarjoa asiakasohjelma HTTPS:n kautta ja määritä yhteistyön päätepisteet erikseen. Excalidrawin tapauksessa HTTPS suojaa tunnistetietoja tai käyttäjien sisältöä siirron aikana ja pitää originista riippuvan client-toiminnan yhdenmukaisena.
Miten Excalidraw-päivitys pitäisi testata?
Ota uusi Excalidraw-image käyttöön nykyisen version rinnalle ja toista hyväksyntätapahtuma tunnetulla syötteellä. Kiinnitä erityistä huomiota siihen, että frontend-, room-server- ja storage-versiot on testattava yhdessä sen sijaan, että oletettaisiin staattisen clientin omistavan jaetun datan. Vakiosäilö ei sisällä datamigraatiota, joten säilytä edellinen digest, kunnes tulos- ja yhteensopivuustarkistukset on läpäisty.
