Varmuuskopiointi ja päivitys
Kaikki Lookun tiedot ovat yhdessä tiedostossa, looku.db, datakansiossa (LOOKU_DATA_DIR, oletuksena deploy/data).
Asetukset ovat tiedostossa .env. Varmuuskopioi molemmat.
Varmuuskopiointi
Osio nimeltä “Varmuuskopiointi”Älä kopioi tiedostoa looku.db, kun Looku on käynnissä: tavallinen kopio voi osua kesken kirjoituksen. Anna Lookun
tehdä kopio:
docker compose run --rm ingest backup /data/backup-$(date +%F).dbNäet rivin Backup written to /data/backup-2026-11-03.db., jossa on tämän päivän päivämäärä. Tiedosto ilmestyy
palvelimen datakansioon (kontin sisällä /data on sama kuin datakansio kontin ulkopuolella). Kopioi se muualle,
esimerkiksi toiselle tietokoneelle tai varmuuskopiopalveluun. Samalla levyllä oleva varmuuskopio ei auta, jos levy
hajoaa.
Kopiosta jätetään tarkoituksella pois päivän suola, joten kopion kävijätiivisteitä ei voi laskea uudelleen IP-osoitteesta.
Automaattinen päivittäinen varmuuskopio. Aja palvelimella crontab -e ja lisää rivi (omalla polullasi):
30 4 * * * cd /home/you/looku/deploy && docker compose run --rm -T ingest backup /data/backup-$(date +\%a).db >/dev/nullNäin säilyy yksi kopio kutakin viikonpäivää kohden (backup-Mon.db … backup-Sun.db), ja se korvaa edellisen viikon
kopion. Crontabissa % pitää kirjoittaa muodossa \%. Jos tarvitset komennolle docker oikeudet sudo, käytä sen
sijaan komentoa sudo crontab -e, jolloin ajo tehdään pääkäyttäjänä (root). Tarkista seuraavana päivänä, että
ls data/ näyttää tiedoston.
Kopioi varmuuskopiot pois palvelimelta omalta tietokoneeltasi:
scp you@192.168.1.10:looku/deploy/data/backup-*.db .Ilman Dockeria: LOOKU_DB=/var/lib/looku/looku.db npx looku backup /backups/looku.db.
Palautus
Osio nimeltä “Palautus”Valitse ensin kopio. Listaa varmuuskopiot päivämäärineen kansiossa ~/looku/deploy:
cd ~/looku/deployls -l data/Aja sitten nämä niin, että viidennellä rivillä on valitsemasi tiedoston nimi backup-Mon.db:n tilalla:
docker compose stop ingest dashboardsudo mv data/looku.db data/looku.db.brokensudo rm -f data/looku.db-wal data/looku.db-shmsudo cp data/backup-Mon.db data/looku.dbsudo chown 1000:1000 data/looku.dbdocker compose start ingest dashboardTiedostot kuuluvat kontin käyttäjälle (1000), ja siksi tarvitaan sudo. Tarkista tulos: kirjaudu kojelautaan sillä
salasanalla, joka oli voimassa varmuuskopion aikaan. Sivustot ja luvut ovat sellaiset kuin varmuuskopion päivänä.
looku.db.broken säilytetään, kunnes olet tarkistanut kojelaudan. Poista se sen jälkeen. Sivunäytöt, jotka
lähetetään Lookun ollessa pysäytettynä, menetetään, joten pidä katko lyhyenä. Koska kopiossa ei ole päivän suolaa,
palautuspäivän kävijät voivat tulla lasketuiksi kahdesti.
Lookun päivitys
Osio nimeltä “Lookun päivitys”Lue ensin muutosloki (CHANGELOG.md). Sitten:
cd ~/lookugit pullcd deploydocker compose pulldocker compose up -dgit pull päivittää Compose-tiedoston ja nämä ohjeet, docker compose pull lataa uusimman Looku 0.9.x:n, ja up -d
korvaa kontit. Jos olet muuttanut Lookun koodia itse, aja kahden viimeisen komennon sijaan docker compose up -d --build. Uutta alaversiota (0.10) ei oteta automaattisesti, koska ennen versiota 1.0 se voi muuttaa
asetuksia tai rajapintaa: lue sen muutosloki ja aseta sitten .env-tiedostoon LOOKU_VERSION=0.10. Vanha levykuva jää levylle nimettömänä; docker image prune poistaa tällaiset käyttämättömät levykuvat silloin tällöin (se kysyy
ennen poistoa eikä koske levykuviin, joita kontit käyttävät). Tietokannan muutokset
ajetaan itsestään, kun vastaanotin käynnistyy. Vastaanotin on poissa käytöstä muutaman sekunnin, ja sinä aikana
lähetetyt sivunäytöt menetetään. Tarkista jälkeenpäin:
docker compose psKaikkien konttien pitää olla tilassa Up, ja minuutin kuluttua ingest- ja dashboard-konttien tilassa pitää lukea
(healthy).
Tunnelin päivitys
Osio nimeltä “Tunnelin päivitys”Tunnelikontti (cloudflared) ei päivitä itseään. Tiedostossa .env asetus CLOUDFLARED_VERSION valitsee version.
Tyhjä arvo tarkoittaa versiota latest ensimmäisen latauksen hetkellä. Päivitä asettamalla uudempi versio
Cloudflaren julkaisuista (esimerkiksi 2026.10.7) tai jätä arvo
tyhjäksi, ja aja:
docker compose --profile tunnel pull tunneldocker compose --profile tunnel up -d tunnelTarkista Cloudflaren kojelaudasta (Networking → Tunnels), että tunneli on taas yhdistetty, ja tee curl-tarkistus
kotipalvelinohjeesta.