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

Change Detectionin itsehostaus vuonna 2026: selaimella noutaminen, hälytykset ja persistenssi

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

Change Detection -kontti voi näyttää toimivan, vaikka käyttäjien tarvitsemana työnkulku olisi rikki. Change Detectionissa piilevä ongelma on yleensä se, että tavalliset pyynnöt kohtaavat bottihaasteita tai selainpalveluun ei saada yhteyttä. Tässä oppaassa hyväksymistestinä käytetään seuraavaa kokonaisuutta: seuraa yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tee hallittu muutos ja vastaanota kummastakin muutoksesta ilmoitus. Käyttöönotto suunnitellaan tämän lopputuloksen perusteella.

Change Detectionin rooli tässä kokonaisuudessa on selkeä: sivujen muutosten seuranta ilman oman scraperin kirjoittamista. Tuotantokäytössä olennaista ei siis ole se, vastaako portti 5000 kerran, vaan se, pysyvätkö tila, riippuvuudet ja julkinen osoite yhteensopivina uudelleenkäynnistyksen, päivityksen ja palautuksen jälkeen.

Erota Change Detection sen riippuvuuksista

Pienin vastuullinen Change Detection -topologia sisältää yhden yksityisen kuuntelijan portissa 5000, ingress-reitin ja dokumentoidun tilarajan. Change Detectionin verkkosopimus JavaScript-raskaille sivuille on etäselaimen, kuten Playwrightin, käyttö. Pidä yksityiset päätepisteet sisäisessä DNS:ssä, salli vain tarvittavat lähtevät yhteydet ja anna Change Detectionille rajattuun käyttöön tarkoitettu palvelutunnus.

Vahvista topologia pyytämällä puhdasta asiakasympäristöä seuraamaan yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tekemällä hallittu muutos ja vastaanottamalla kummastakin muutoksesta ilmoitus. Seuraa ajon aikana selain-työntekijöiden rinnakkaisuutta, kuvakaappaushistoriaa, kohteiden viivettä ja bottien torjuntahaasteita. Tuloksesta selviää, kuuluuko seuraavan parannuksen kohdistua muistiin, tallennustilaan, verkkoyhteyksiin vai erilliseen worker-prosessiin sen sijaan, että konttia mitoitettaisiin sattumanvaraisesti.

Tee Change Detectionin palautumisesta mitattavaa

Määritä Change Detectionille palautuspiste ja palautumisaika seurattavien kohteiden määritysten, historian, tilannekuvien ja ilmoitusasetusten perusteella. Liitä /datastore ennen alustusta, kirjoita sinne harmitonta esimerkkidataa ja korvaa kontti varmistaaksesi, että polku todella säilyy. Nimetty volume ratkaisee uudelleenasennuksen jälkeisen persistenssin, mutta ei tietomurtoa tai palvelimen menetystä.

Rakenna puhdas palautusympäristö, käytä samaa lukittua sovellusversiota ja varmista, että seurattavien kohteiden määritykset, historia ja ilmoituskohteet palautuvat ja että hallittu muutos havaitaan uudelleen. Kirjaa komennot, omistajuuden korjaamiseen tarvittavat toimet ja kulunut aika. Varmuuskopiointiopas tarjoaa hyödyllisen standardin: varmuuskopio on luotettava vasta palautuksen jälkeen, ei lataamisen jälkeen.

Suojaa Change Detection alustuksen jälkeen

Älä peri tietoturvaoletuksia paikallisesta tutoriaalista. Change Detectionin erityinen riski on seurattavien kohteiden historian ja ilmoitustunnisteiden paljastuminen ilman tunnistautumista. Tuotannossa on siksi suojattava seurattavien kohteiden historia, sillä se voi sisältää yksityisiä URL-osoitteita, evästeitä ja ilmoitusten tunnistetietoja.

BASE_URL on konfiguraatioarvo, ei salaisuus; pidä sen arvo eksplisiittisenä ja suojaa erikseen Change Detectionin käyttämät tunnistetiedot. Rajaa tiedostojärjestelmä- ja verkkokäyttöoikeudet, suojaa asetuspäätepisteet ja määritä lataus-, pyyntö- ja suoritusrajat selain-työntekijöiden rinnakkaisuudelle, kuvakaappaushistorialle, kohteiden viiveelle ja bottien torjuntahaasteille.

Change Detectionin tuotantokäyttöä edeltävä näyttö

Ennen oikeiden käyttäjien saapumista laadi Change Detectionille julkaisuun liittyvä tarkistuslomake. Siinä on nimettävä lukittu image, portti 5000, kanoninen origin, pysyvät polut sekä JavaScript-raskaille sivuille tarkoitetun etäselaimen, kuten Playwrightin, omistaja. Liitä mukaan tämän tapahtumaketjun odotettu tulos: seuraa yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tee hallittu muutos ja vastaanota kummastakin muutoksesta ilmoitus.

Käytä lomaketta normaalin korvauksen jälkeen ja puhtaan palautuksen jälkeen. Palautus hyväksytään vain, jos seurattavien kohteiden määritykset, historia ja ilmoituskohteet palautuvat ja hallittu muutos havaitaan uudelleen. Kerää lisäksi lyhyt resurssijälki, joka kattaa selain-työntekijöiden rinnakkaisuuden, kuvakaappaushistorian, kohteiden viiveen ja bottien torjuntahaasteet. Säilytä se julkaisun yhteydessä, jotta tulevia kapasiteettimuutoksia voidaan verrata samaan työkuormaan.

Sisällytä yksi hallittu vikatilanne: estä testitunnisteelta tilapäisesti pääsy JavaScript-raskaille sivuille tarkoitettuun etäselaimeen, kuten Playwrightiin. Varmista, että Change Detection ilmoittaa ongelmasta oikealla rajalla, palauta toimiva tila ja suorita tapahtumaketju uudelleen. Näin testataan virheiden näkyvyyttä, ei vain onnistumista, ja estetään terveen näköistä käyttöliittymää peittämästä rikkinäistä workeria, callbackia tai tietokantayhteyttä.

Tee Change Detectionin käynnistyksestä toistettava

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

docker run -d \
  --name change-detection \
  --restart unless-stopped \
  -p 127.0.0.1:5000:5000 \
  -v change-detection-data:/datastore \
  -e BASE_URL=https://app.example.com \
  dgtlmoon/changedetection.io:latest

Portti 5000 pysyy tässä palvelimen sisäisenä, ja jokainen tarvittava polku on määritetty eksplisiittisesti. Lisää tarkistetut yhteysasetukset JavaScript-raskaille sivuille tarkoitetulle etäselaimelle, kuten Playwrightille, ja käytä yksityisille palveluille yksityisiä nimiä. Vahvista käynnistys sekä lokeista että sovelluskohtaisella testillä: seuraa yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tee hallittu muutos ja vastaanota kummastakin muutoksesta ilmoitus. Kun toiminta on varmistettu, lukitse imagen versio, jotta tavallinen korvaus ei muuta toimintaa huomaamatta.

Verkkotunnukset, välityspalvelimen otsakkeet ja portti 5000

Käsittele ulkoista Change Detection -URL-osoitetta konfiguraationa, joka säilyy uudelleenasennuksissa. Aseta ensin BASE_URL ja mahdollinen selaimen päätepiste osoitteisiin, joihin kontti pääsee, ja reititä sitten hostname porttiin 5000 säilyttäen alkuperäinen host ja scheme.

Käyttöönoton tavoitettavuuden tarkistuslista voi osoittaa, että pyynnöt pääsevät konttiin. Sen jälkeen tunnettu vika — tavalliset pyynnöt kohtaavat bottihaasteita tai selainpalveluun ei saada yhteyttä — pitää selvittää Change Detectionista, sen tilasta tai työkuormasta eikä sertifikaattien automaatiosta.

Käytä Change Detectionia sen todellisen pullonkaulan ympärillä

Rakenna dashboardit selain-työntekijöiden rinnakkaisuuden, kuvakaappaushistorian, kohteiden viiveen ja bottien torjuntahaasteiden ympärille. CPU-kaavio ilman työkuorman kontekstia ei voi selittää, miksi Change Detection on hidas. Lisää synteettinen tai ajastettu tarkistus, joka yrittää seurata yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tehdä hallitun muutoksen ja vastaanottaa kummastakin muutoksesta ilmoituksen harmittomalla testidatalla.

Huomioi ennen päivitystä tämä sovelluskohtainen riski: Playwright-imageversioiden, datastore-migraatioiden ja ilmoitusintegraatioiden tulee edetä yhdessä. Palauta tuore varmuuskopio eristettyyn käyttöönottoon, suorita migraatiot siellä ja vertaa toimintaa. Jos tavalliset pyynnöt kohtaavat bottihaasteita tai selainpalveluun ei saada yhteyttä, tarkista ensin kyseinen raja — julkinen origin, tallennustila tai riippuvuus — ennen kuin muutat asiaan liittymättömiä asetuksia.

Mitä Dockupin pitäisi automatisoida Change Detectionia varten

Dockup-templaatin pitäisi sisältää image, portti 5000, mountit, health-timing, domain, TLS ja salaisuuksien toimitus. Dockupin pitäisi pitää JavaScript-raskaille sivuille tarkoitetun etäselaimen, kuten Playwrightin, yksityiset osat sisäisessä verkossa eikä avata ylimääräistä julkista porttia. Sama käyttöönotto voidaan kohdistaa Dockup-palvelimille tai asiakkaan liittämään kapasiteettiin.

Kun reitti on toiminnassa, ota julkinen asetus käyttöön ja yritä seurata yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tehdä hallittu muutos ja vastaanottaa kummastakin muutoksesta ilmoitus. Varmuuskopioi seurattavien kohteiden määritykset, historia, tilannekuvat ja ilmoitusasetukset ja pidä palautusharjoitus osana käyttö- ja ylläpitosuunnitelmaa. Nämä ovat Change Detectionin vastuulla olevia asioita, jotka pysyvät näkyvissä infrastruktuurin käyttöönoton jälkeenkin.

Usein kysytyt kysymykset

Mitä Change Detection tarvitsee tuotantokäyttöönottoon?

Reititä Change Detection -kontti portista 5000 yhden HTTPS-originin kautta. Verkon tukivaatimus on JavaScript-raskaille sivuille tarkoitettu etäselain, kuten Playwright. Älä pidä Change Detectionia valmiina, ennen kuin voit seurata yhtä staattista sivua ja yhtä JavaScriptillä renderöityä sivua, tehdä hallitun muutoksen ja vastaanottaa kummastakin muutoksesta ilmoituksen.

Mitkä Change Detectionin tiedot kuuluvat varmuuskopioon?

Säilytä /datastore ja sisällytä seurattavien kohteiden määritykset, historia, tilannekuvat ja ilmoitusasetukset samaan palautusmanifestiin. Puhdas Change Detection -palautus onnistuu vasta, kun seurattavien kohteiden määritykset, historia ja ilmoituskohteet ovat palautuneet ja hallittu muutos havaitaan uudelleen.

Vaatiiko Change Detection HTTPS:n käänteisen välityspalvelimen takana?

Käytä julkisessa Change Detection -originissa HTTPS:ää ja pidä portti 5000 sisäisessä reitissä. Määritä Change Detectionin asetus oikein: aseta BASE_URL ja mahdollinen selaimen päätepiste osoitteisiin, joihin kontti pääsee. Change Detectionin tapauksessa HTTPS suojaa tunnistetietoja ja käyttäjäsisältöä siirron aikana sekä pitää originista riippuvan asiakaskäyttäytymisen yhdenmukaisena.

Miten Change Detectionin päivitys pitäisi testata?

Palauta nykyinen Change Detection -tila eristettyyn käyttöönottoon, ota ehdokasversio käyttöön ja toista sen hyväksymistesti. Kiinnitä erityistä huomiota siihen, että Playwright-imageversioiden, datastore-migraatioiden ja ilmoitusintegraatioiden tulee edetä yhdessä. Säilytä edellinen Change Detection -image, kunnes sen datamigraation ja rollbackin rajat on ymmärretty.