Indeks dnevnikaDockup / bilješka s terena
Note / self-host-wallos

Kako samostalno hostati Wallos u 2026.: obnavljanja, obavijesti i SQLite

Implementirajte Wallos s ispravnim portom, trajnom pohranom, TLS-om, autentikacijom i sigurnosnim kopijama. Otklonite probleme s pomicanjem datuma obnavljanja zbog pogrešnog TZ-a u produkciji.

Većina uputa za instalaciju Wallosa završava nakon prvog učitavanja stranice. To je prerano: datumi obnavljanja pomiču se jer je TZ pogrešno postavljen ili je SQLite direktorij samo za čitanje. Koristan produkcijski test zahtjevniji je — izradite pretplate s različitim obračunskim ciklusima, postavite datume obnavljanja, pokrenite tijek obavijesti i provjerite ukupne iznose u odabranoj valuti.

Uloga Wallosa jednostavna je: to je alat za praćenje pretplata s datumima obnavljanja i obavijestima. Njegova operativna granica obuhvaća više od web-procesa, stoga prije unosa stvarnih podataka treba izričito navesti dependency, spremljeno stanje i javnu rutu.

Mapirajte Wallos prije rada s Dockerom

Za Wallos razdvojite četiri područja: ingress, listener na portu 80, trajno stanje i supporting services ili lokalni kapacitet. Lokalni runtime zahtijeva persistentne direktorije baze podataka i za učitavanje logotipa te isporuku obavijesti. Veličinu tog resursa određujte i nadzirite zajedno s containerom, umjesto da izlažete nepovezanu mrežnu uslugu.

Pokrenite provjerenu transakciju — izradite pretplate s različitim obračunskim ciklusima, postavite datume obnavljanja, pokrenite tijek obavijesti i provjerite ukupne iznose u odabranoj valuti — prije nego što ovu separaciju proglasite dovršenom. Izmjerite zakazane obavijesti, pohranu logotipa, SQLite upise i ispravnost vremenske zone te rezultat spremite uz zapis o deploymentu. Time dobivate i kriterij prihvaćanja i prvu osnovnu vrijednost kapaciteta.

Dijagnosticirajte Wallos koji izgleda zdravo

Za Wallos nadzirite transakciju, a ne proces: izradite pretplate s različitim obračunskim ciklusima, postavite datume obnavljanja, pokrenite tijek obavijesti i provjerite ukupne iznose u odabranoj valuti. Latenciju i stopu pogrešaka kombinirajte sa zakazanim obavijestima, pohranom logotipa, SQLite upisima i ispravnošću vremenske zone kako bi alert identificirao ograničenu komponentu.

Rehearsal nadogradnje mora obuhvatiti testiranje migracija Wallosove baze podataka s datumima i podacima o valutama prije zamjene pokrenutog imagea. Vratite podatke iz sigurnosne kopije, provedite migraciju i pokrenite transakciju prije zamjene u produkciji. Ako se datumi obnavljanja pomiču jer je TZ pogrešno postavljen ili je SQLite direktorij samo za čitanje, nemojte brisati podatke kako bi startup izgledao uspješno; redom usporedite verziju, varijable, mountove i dostupnost dependencyja.

Pretvorite smoke test Wallosa u release provjeru

Zapis o releaseu za Wallos treba sadržavati činjenice, a ne “izgleda dobro”. Spremite odabrani image digest, checksum konfiguracije, javni hostname i rezultat s vremenskom oznakom za sljedeće: izradite pretplate s različitim obračunskim ciklusima, postavite datume obnavljanja, pokrenite tijek obavijesti i provjerite ukupne iznose u odabranoj valuti. Koristite ogledne podatke koji nisu produkcijski kako bi se provjera mogla pokretati nakon svakog deploymenta.

Odvojeno dokažite dva lifecycle događaja. Zamjena containera mora očuvati uobičajeni rad, a čisti recovery mora pokazati da se pretplate, kategorije, logotipi i postavke obavijesti vraćaju s nepromijenjenim datumima obnavljanja. Dok provjere traju, izmjerite zakazane obavijesti, pohranu logotipa, SQLite upise i ispravnost vremenske zone te rezultat zadržite kao očekivani envelope za ovu verziju.

Testirajte i odbijeni ili nevažeći uvjet: pošaljite bezopasan unos blizu ograničenja resursa ili formata povezanog s ovom granicom: datumi obnavljanja pomiču se jer je TZ pogrešno postavljen ili je SQLite direktorij samo za čitanje. Wallos bi trebao otkazati na način koji se može dijagnosticirati i ne bi trebao prebrisati zdravo stanje. Vratite valjani uvjet, ponovno pokrenite ogledni test i priložite relevantne redigirane logove. Ti artefakti budućoj odluci o rollbacku daju konkretne dokaze.

Učinite pokretanje Wallosa ponovljivim

Launch oblikovan za produkciju namjerno je dosadan: imenovano stanje, eksplicitni port i nijedna tajna unutar imagea.

docker run -d \
  --name wallos \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v wallos-data:/var/www/html/db \
  -e TZ=UTC \
  bellamy/wallos:latest

Primjer je osnova, a ne kompletan supporting stack. Prije izlaganja potvrdite lokalni zahtjev: persistentne direktorije baze podataka i za učitavanje logotipa te isporuku obavijesti. Provjerite efektivne mountove i listener, a zatim pokušajte izraditi pretplate s različitim obračunskim ciklusima, postaviti datume obnavljanja, pokrenuti tijek obavijesti i provjeriti ukupne iznose u odabranoj valuti. Prije sljedećeg restarta fiksirajte radni image.

Pronađite svaki trajni byte u Wallosu

Napravite inventar svih trajnih artefakata: baze pretplata, učitanih logotipa i postavki obavijesti. Montirajte /var/www/html/db prije bootstrapa, upišite bezopasne ogledne podatke i zamijenite container kako biste dokazali da je ta putanja doista persistentna. Uključite i konfiguraciju koja mijenja način interpretacije spremljenih podataka, a ne samo najveći direktorij.

Postavite retention, kopirajte sigurnosne kopije izvan hosta i provedite clean-room restore. Wallosov drill dovršen je kada se pretplate, kategorije, logotipi i postavke obavijesti vrate s nepromijenjenim datumima obnavljanja. Ako su snapshots dio plana, upotrijebite upute za PITR u odnosu na snapshots kako biste dokumentirali što svaki mehanizam može vratiti.

Dodijelite Wallosu jednu kanonsku adresu

Izdavanje TLS-a samo je polovica Wallosove rute. Poslužujte aplikaciju preko HTTPS-a i postavite njezinu vremensku zonu. Interno šaljite promet na port 80 i proslijedite vanjsku shemu kako bi generirani URL-ovi i sigurni cookies ostali konzistentni.

Upotrijebite potpuni Wallosov scenarij iz čiste mreže, a ne samo root stranicu. 502 ili problem s certifikatom možete izolirati pomoću automatskog postavljanja domene i TLS-a. Ako promet dolazi do procesa, a datumi obnavljanja pomiču se jer je TZ pogrešno postavljen ili je SQLite direktorij samo za čitanje, dijagnosticirajte uvjet ondje gdje se pojavljuje umjesto da slažete redirects jedan na drugi.

Zaštitite vrijedan dio Wallosa

Nakon prve prijave provjerite što anonimni posjetitelj, obični korisnik i administrator mogu učiniti. Wallosov problem koji treba izbjeći jest ostavljanje prvog računa nezaštićenim na instanci dostupnoj internetu. Predviđena politika jest zaštititi račun, čuvati notification tokene privatnima i eksplicitno postaviti TZ kako se obnavljanja ne bi pomicala.

TZ određuje ponašanje, a ne povjerljivost; provjerite njegov tip i vrijednost, a stvarne Wallosove credentials pohranjujte odvojeno. Račune dependencyja držite odvojene od korisničkih računa, gdje je praktično onemogućite nepotreban egress i ograničite rad na koji utječu zakazane obavijesti, pohrana logotipa, SQLite upisi i ispravnost vremenske zone.

Gdje Dockup uklanja posao za Wallos

Dockup template treba kodirati image, port 80, mountove, health timing, domenu, TLS i isporuku tajni. Dockup treba očuvati Wallosove runtime postavke dok operator potvrđuje ovaj lokalni zahtjev: persistentne direktorije baze podataka i za učitavanje logotipa te isporuku obavijesti. Isti deployment može ciljati Dockup poslužitelje ili kapacitet koji je priključio korisnik.

Nakon što je ruta aktivna, primijenite javnu postavku i pokušajte izraditi pretplate s različitim obračunskim ciklusima, postaviti datume obnavljanja, pokrenuti tijek obavijesti i provjeriti ukupne iznose u odabranoj valuti. Izradite sigurnosnu kopiju baze pretplata, učitanih logotipa i postavki obavijesti te vježbu vraćanja uključite u operativni plan; to su Wallosove odgovornosti koje ostaju vidljive i nakon provisioning infrastrukture.

Često postavljana pitanja

Što je Wallosu potrebno za produkcijski deployment?

Usmjerite Wallosov container na portu 80 kroz jedan HTTPS origin. Lokalni runtime zahtijeva persistentne direktorije baze podataka i za učitavanje logotipa te isporuku obavijesti. Nemojte Wallos proglasiti spremnim dok ne možete izraditi pretplate s različitim obračunskim ciklusima, postaviti datume obnavljanja, pokrenuti tijek obavijesti i provjeriti ukupne iznose u odabranoj valuti.

Koje Wallosove podatke treba uključiti u sigurnosnu kopiju?

Zadržite /var/www/html/db i u isti recovery manifest uključite bazu pretplata, učitane logotipe i postavke obavijesti. Čisti Wallosov restore uspješan je samo kada se pretplate, kategorije, logotipi i postavke obavijesti vrate s nepromijenjenim datumima obnavljanja.

Zahtijeva li Wallos HTTPS iza reverse proxya?

Za javni Wallosov origin koristite HTTPS, a port 80 zadržite na internoj ruti. Ispravno primijenite Wallosovu postavku: poslužujte aplikaciju preko HTTPS-a i postavite njezinu vremensku zonu. Za Wallos HTTPS štiti credentials ili korisnički sadržaj tijekom prijenosa i održava konzistentno ponašanje klijenta ovisno o originu.

Kako testirati Wallosovu nadogradnju?

Vratite trenutačno Wallosovo stanje u izolirani deployment, primijenite candidate verziju i ponovite transakciju prihvaćanja. Obratite posebnu pozornost jer migracije Wallosove baze podataka treba testirati s datumima i podacima o valutama prije zamjene pokrenutog imagea. Zadržite prethodni Wallosov image dok ne razjasnite granice migracije podataka i rollbacka.