Slik selvhoster du Wallos i 2026: Fornyelser, varsler og SQLite
Distribuer Wallos med riktig port, persistent lagring, TLS, autentisering og sikkerhetskopier. Feilsøk når fornyelsesdatoer forskyves fordi TZ er feil i produksjon.
De fleste installasjonsnotater for Wallos stopper etter den første sidelastingen. Det er for tidlig: Fornyelsesdatoer forskyves fordi TZ er feil, eller fordi SQLite-katalogen er skrivebeskyttet. En nyttig produksjonstest er mer krevende — opprett abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjør varslingsflyten og kontroller totalene i den valgte valutaen.
Wallos har en enkel rolle: en abonnementstracker med fornyelsesdatoer og varsler. Den driftsmessige avgrensningen omfatter mer enn webprosessen, så avhengigheten, den lagrede tilstanden og den offentlige ruten må navngis eksplisitt før ekte data tas i bruk.
Kartlegg Wallos før du tar i bruk Docker
Skill mellom fire hensyn for Wallos: ingress, lytteren på port 80, persistent tilstand og støttetjenester eller lokal kapasitet. Kravet til det lokale runtime-miljøet er persistente kataloger for databasen og opplastede logoer, samt levering av varsler. Dimensjoner og overvåk denne ressursen sammen med containeren i stedet for å eksponere en uvedkommende nettverkstjeneste.
Kjør den kjente, fungerende transaksjonen — opprett abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjør varslingsflyten og kontroller totalene i den valgte valutaen — før du anser separasjonen som fullført. Mål planlagt varslingsarbeid, logolagring, SQLite-skrivinger og korrekt tidssone, og lagre resultatet sammen med deployment-registreringen. Det gir både et akseptansekriterium og det første kapasitetsgrunnlaget.
Diagnostiser en Wallos-instans som ser frisk ut
For Wallos bør du overvåke en transaksjon, ikke en prosess: opprett abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjør varslingsflyten og kontroller totalene i den valgte valutaen. Kombiner latenstid og feilrate med planlagt varslingsarbeid, logolagring, SQLite-skrivinger og korrekt tidssone, slik at et varsel identifiserer den begrensende komponenten.
Oppgraderingsøvelsen må dekke at databasemigreringer for Wallos skal testes med dato- og valutadata før det kjørende imaget erstattes. Gjenopprett, migrer og kjør transaksjonen før produksjonsutskiftingen. Hvis fornyelsesdatoer forskyves fordi TZ er feil, eller fordi SQLite-katalogen er skrivebeskyttet, må du ikke slette data for å få en grønn oppstart; sammenlign versjon, variabler, mounts og tilgjengelighet til avhengigheter i denne rekkefølgen.
Gjør Wallos-smoketesten til en release-sjekk
Release-registreringen for Wallos trenger fakta, ikke «ser bra ut». Lagre valgt image-digest, konfigurasjonssjekksum, offentlig hostname og et tidsstemplet resultat for følgende: opprett abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjør varslingsflyten og kontroller totalene i den valgte valutaen. Bruk eksempeldata som ikke er fra produksjon, slik at testen kan kjøres etter hver deployment.
Dokumenter to livssyklushendelser separat. En containerutskifting må bevare normal drift; en ren gjenoppretting må vise at abonnementer, kategorier, logoer og varslingsinnstillinger kommer tilbake med uendrede fornyelsesdatoer. Mål planlagt varslingsarbeid, logolagring, SQLite-skrivinger og korrekt tidssone mens kontrollene kjører, og ta vare på resultatet som forventet rammeverk for denne versjonen.
Test også en avvist eller ugyldig tilstand: send inn ufarlige data nær ressurs- eller formatgrensen som er knyttet til denne avgrensningen: fornyelsesdatoer forskyves fordi TZ er feil, eller fordi SQLite-katalogen er skrivebeskyttet. Wallos skal feile på en måte som gjør årsaken mulig å diagnostisere, og skal ikke overskrive en frisk tilstand. Gå tilbake til den gyldige tilstanden, kjør eksempelet på nytt og legg ved relevante, anonymiserte logger. Disse artefaktene gir en fremtidig rollback-beslutning konkrete bevis.
Gjør oppstart av Wallos reproduserbar
En produksjonsnær oppstart er med vilje kjedelig: navngitt tilstand, eksplisitt port og ingen hemmelighet i imaget.
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
Eksempelet er et utgangspunkt, ikke en komplett støttestack. Bekreft det lokale kravet før eksponering: persistente kataloger for databasen og opplastede logoer, samt levering av varsler. Kontroller mounts og lytterens faktiske konfigurasjon, og prøv deretter å opprette abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjøre varslingsflyten og kontrollere totalene i den valgte valutaen. Lås det fungerende imaget før neste omstart.
Finn alle persistente byte i Wallos
Kartlegg alle persistente artefakter: abonnementsdatabasen, opplastede logoer og varslingsinnstillinger. Mount /var/www/html/db før bootstrap, skriv ufarlige eksempeldata og erstatt containeren for å bevise at banen faktisk er persistent. Ta også med konfigurasjon som endrer hvordan lagrede data tolkes, ikke bare den største katalogen.
Definer oppbevaringstid, kopier sikkerhetskopier ut av verten og kjør en gjenoppretting i et rent miljø. Wallos-øvelsen er fullført når abonnementer, kategorier, logoer og varslingsinnstillinger kommer tilbake med uendrede fornyelsesdatoer. Hvis snapshots inngår i planen, kan du bruke veiledningen om PITR kontra snapshots til å dokumentere hva hver mekanisme kan gjenopprette.
Gi Wallos én kanonisk adresse
TLS-utstedelse er bare halvparten av Wallos-ruten. Lever applikasjonen over HTTPS og angi tidssonen. Send trafikken internt til port 80, og videresend det eksterne skjemaet slik at genererte URL-er og sikre cookies forblir konsistente.
Bruk hele Wallos-scenarioet fra et rent nettverk, ikke bare rotsiden. En 502- eller sertifikatfeil kan isoleres med automatisk oppsett av domene og TLS. Hvis trafikken når prosessen og fornyelsesdatoer forskyves fordi TZ er feil, eller fordi SQLite-katalogen er skrivebeskyttet, skal du diagnostisere tilstanden der den oppstår i stedet for å legge på flere redirects.
Beskytt den verdifulle delen av Wallos
Etter den første innloggingen bør du gå gjennom hva en anonym besøkende, en vanlig bruker og en administrator kan gjøre. Wallos-feilen du må unngå, er å la den første kontoen være svakt sikret på en instans som er eksponert mot internett. Den tiltenkte policyen er å beskytte kontoen, holde varslingstokener private og angi TZ eksplisitt slik at fornyelser ikke forskyves.
TZ styrer atferd, ikke konfidensialitet; valider typen og verdien, og lagre ekte Wallos-legitimasjon separat. Hold avhengighetskontoer atskilt fra brukerkontoer, nekt ubrukt egress der det er praktisk mulig, og sett grenser for arbeid som påvirkes av planlagt varslingsarbeid, logolagring, SQLite-skrivinger og korrekt tidssone.
Slik fjerner Dockup arbeid for Wallos
En Dockup-mal bør angi imaget, port 80, mounts, helsesjekkintervall, domene, TLS og levering av hemmeligheter. Dockup bør bevare runtime-innstillingene for Wallos mens operatøren bekrefter dette lokale kravet: persistente kataloger for databasen og opplastede logoer, samt levering av varsler. Den samme deploymenten kan målrettes mot Dockup-servere eller kapasitet tilknyttet kunden.
Når ruten er aktiv, bruker du den offentlige innstillingen og prøver å opprette abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjøre varslingsflyten og kontrollere totalene i den valgte valutaen. Sikkerhetskopier abonnementsdatabasen, opplastede logoer og varslingsinnstillinger, og ta med gjenopprettingsøvelsen i driftsplanen; dette er Wallos-ansvar som fortsatt må være synlig etter at infrastrukturen er klargjort.
Vanlige spørsmål
Hva trenger Wallos for en produksjonsdeployment?
Rout Wallos-containeren på port 80 gjennom én HTTPS-opprinnelse. Kravet til det lokale runtime-miljøet er persistente kataloger for databasen og opplastede logoer, samt levering av varsler. Ikke erklær Wallos klar før du kan opprette abonnementer med ulike faktureringsintervaller, angi fornyelsesdatoer, kjøre varslingsflyten og kontrollere totalene i den valgte valutaen.
Hvilke Wallos-data skal inngå i en sikkerhetskopi?
Gjør /var/www/html/db persistent, og inkluder abonnementsdatabasen, opplastede logoer og varslingsinnstillinger i det samme gjenopprettingsmanifestet. En ren Wallos-gjenoppretting er bare vellykket når abonnementer, kategorier, logoer og varslingsinnstillinger kommer tilbake med uendrede fornyelsesdatoer.
Krever Wallos HTTPS bak en reverse proxy?
Bruk HTTPS for den offentlige Wallos-opprinnelsen, og behold port 80 på den interne ruten. Bruk Wallos-innstillingen riktig: lever applikasjonen over HTTPS og angi tidssonen. For Wallos beskytter HTTPS legitimasjon eller brukerinnhold under overføring og sørger for konsistent klientatferd som er avhengig av origin.
Hvordan bør en Wallos-oppgradering testes?
Gjenopprett gjeldende Wallos-tilstand i en isolert deployment, bruk kandidatversjonen og gjenta akseptansetransaksjonen. Vær spesielt oppmerksom på at databasemigreringer for Wallos skal testes med dato- og valutadata før det kjørende imaget erstattes. Behold det forrige Wallos-imaget til grensen for datamigrering og rollback er forstått.
