De bronthread uit 2025 bereikte nooit een bevestigde werkende AdventureLog-installatie. De frontend werd geladen, maar de registratie leek niets te doen. Latere logboeken toonden twee sterkere aanwijzingen: de frontend meldde herhaaldelijk fetch failed met verbindingstime-outs, terwijl de backend herhaaldelijk meldde PostgreSQL is niet beschikbaar - wachten. De databasecontainer werd uiteindelijk geïnitialiseerd en luisterde normaal.
Dat bewijs wijst op een probleem met connectiviteit of configuratie tussen meerdere services, en niet op de eenvoudige conclusie dat 'AdventureLog niet werkt op ZimaOS'. De huidige upstream-implementatie van AdventureLog is ook gewijzigd: de onderhouden Compose-configuratie gebruikt nu een .env bestand, recentere PostGIS-versie, actuele frontend-/backendimages en een speciale installer die vraagt om de externe frontend- en backend-URL's.
De bron gebruikte een Compose-stack met drie services
De Compose-configuratie uit 2025 bevatte:
- een SvelteKit-frontend met de naam
web; - een Django-/backendservice met de naam
server; - een PostGIS/PostgreSQL-database met de naam
db.
De frontend stelde hostpoort 8015 beschikbaar, de backend stelde een andere hostpoort beschikbaar en benoemde Docker-volumes sloegen database- en mediagegevens op.
Het zichtbare symptoom was een registratiescherm dat niets deed
De applicatie leek succesvol te worden geïnstalleerd vanuit ZimaOS Custom App, maar de gebruiker kon niet verdergaan met inloggen of registreren. Zo'n frontendsymptoom kan worden veroorzaakt door:
- de frontend die geen verbinding kan maken met de backend;
- de backend die geen verbinding kan maken met PostgreSQL;
- onjuiste origin-/CSRF-URL's;
- de opstartvolgorde of healthstatus van services;
- een reverse proxy die de effectieve externe URL wijzigt.
De bronlogboeken bevatten bewijs voor de eerste twee lagen, maar stelden niet één definitieve hoofdoorzaak vast.
De frontend liep herhaaldelijk een time-out op tijdens het ophalen
Het frontendlogboek meldde TypeError: fetch failed en ETIMEDOUT. Dat betekent dat het frontendproces een netwerkverzoek dat had moeten slagen niet kon voltooien.
De oorspronkelijke Compose gebruikte PUBLIC_SERVER_URL=http://server:8000, wat conceptueel correct is voor communicatie tussen services binnen één Compose-project. Het wijzigen van andere URL-variabelen naar LAN-adressen of proxydomeinen kan echter nog steeds conflicten veroorzaken tussen de origin en de browser/backend.
De backend kon aanvankelijk geen verbinding maken met PostgreSQL
Het backendlogboek vermeldde herhaaldelijk PostgreSQL is niet beschikbaar - wachten. Ondertussen toonde het databaselogboek dat PostGIS werd geïnitialiseerd en uiteindelijk gereed was.
Dit komt overeen met een backend die start voordat de database gereed is, een onjuiste DB-verbindingsinstelling of een service-netwerkprobleem. De bron bevat onvoldoende bewijs om deze mogelijkheden definitief van elkaar te onderscheiden.
Een Cloudflare Tunnel toevoegen loste het onderliggende probleem niet op
De gebruiker probeerde na de eerste mislukte installatie een Cloudflare Tunnel, maar de applicatie werkte nog steeds niet. Dit is te verwachten als het onderliggende frontend ↔ backend ↔ database-pad defect is: een openbare tunnel kan een service beschikbaar maken, maar repareert de interne Compose-netwerkinstellingen niet.
De huidige AdventureLog gebruikt een eenvoudigere, onderhouden Compose-indeling
De huidige upstream-Compose-configuratie van AdventureLog gebruikt nu:
-
ghcr.io/seanmorley15/adventurelog-frontend:latest; -
ghcr.io/seanmorley15/adventurelog-backend:latest; -
postgis/postgis:16-3.5; - een gedeeld
.envconfiguratiebestand; - persistente
postgres_dataenadventurelog_mediavolumes.
Bekijk de huidige AdventureLog Compose-definitie in plaats van de YAML van het forum uit 2025 letterlijk te kopiëren.
Frontend- en backend-URL's doelgericht configureren
De huidige AdventureLog-installer vraagt om de frontend- en backend-URL en leidt daaruit de poortconfiguratie af. Dat is een sterke aanwijzing dat URL-/originwaarden onderdeel zijn van het applicatiecontract en geen cosmetische labels.
Gebruik voor een LAN-only-installatie consequent het werkelijke ZimaOS-IP-adres of de hostnaam en de gekozen poorten. Configureer voor een reverse proxy de openbare HTTPS-URL's consequent en vermijd het combineren van localhost, LAN-adressen en openbare domeinen zonder te begrijpen welk proces elke waarde gebruikt.
Gebruik de bronwachtwoorden en SECRET_KEY niet opnieuw
De Compose-configuratie op het forum bevatte placeholderwaarden zoals changeme123 voor PostgreSQL- en Django-geheimen. Dit zijn voorbeelden, geen veilige productiegegevens.
Genereer unieke databasegegevens en een sterk applicatiegeheim. Als een echt geheim ooit openbaar is gedeeld, roteer het dan.
Database en media behouden vóór je herinstallaties gaat troubleshooten
Als je de stack herhaaldelijk verwijdert en opnieuw installeert, kan dat een verwarrende toestand veroorzaken als benoemde volumes blijven bestaan of onverwacht worden verwijderd. Bepaal eerst wat het doel is:
- gebruik de bestaande database/media opnieuw;
- begin met een volledig schone testinstantie.
Maak een back-up van alles wat belangrijk is voordat je Docker-volumes verwijdert.
Het huidige ZimaOS verwerkt standaard Compose directer
De huidige workflows voor ZimaOS App Store 2.0 en Custom Apps zijn gebaseerd op standaard Docker Compose plus ZimaOS-metadata. Het runtimegedrag van de applicatie—afhankelijkheden, omgevingsvariabelen, poorten, volumes, healthchecks en netwerken—hoort nog steeds in Compose te staan.
Gebruik het huidige ZimaOS Compose-model bij het aanpassen van AdventureLog.
Veelgestelde vragen over AdventureLog op ZimaOS
Bevestigde de brondraad uit 2025 een werkende oplossing?
Nee. De thread eindigde nadat de gebruiker frontend-, backend- en databaselogs had geplaatst.
Wat waren de sterkste aanwijzingen in de bron?
Time-outs bij frontend-fetches en een backend die herhaaldelijk op PostgreSQL wacht.
Moet de oude Compose-configuratie uit 2025 ongewijzigd opnieuw worden gebruikt?
Nee. De onderhouden Compose-configuratie, images, PostGIS-versie en configuratiemodel van AdventureLog zijn gewijzigd.
