docs
GitHubEN
Help

Problemen oplossen

De storingen waar mensen bij zelf hosten het vaakst tegenaan lopen, en wat ze werkelijk betekenen.

De meeste problemen met zelf hosten komen neer op een handvol verkeerde instellingen. Begin hier voordat je een issue opent.

Appsweet stopt meteen bij het starten

Drie variabelen worden gelezen terwijl het proces opstart, en één die ontbreekt legt hem stil voordat hij iets opent:

  • APPSWEET_DATABASE_URL — de logregel is APPSWEET_DATABASE_URL is required. Een database die nog geen verbindingen accepteert ziet er van buitenaf ongeveer hetzelfde uit.
  • APPSWEET_OIDC_ISSUER en APPSWEET_OIDC_CLIENT_IDAPPSWEET_OIDC_ISSUER is required, of hetzelfde voor de client-ID. Dit zijn geen instellingen voor het moment van inloggen: de OIDC-configuratie wordt tijdens het opstarten geladen, dus een container die alleen een database-URL meekrijgt stopt hier, in plaats van te starten en later bij het inlogscherm te falen.

Kijk eerst in de containerlogs; de fout noemt de variabele met naam en toenaam.

Migraties mislukken op een verse database

Stoppen de logs bij CREATE EXTENSION IF NOT EXISTS vector — meestal gemeld als extension "vector" is not available — dan kan de Postgres waar je naar wees pgvector niet installeren. Dat is de eerste migratie die Appsweet uitvoert, dus de rest komt niet aan bod.

De standaard postgres-image levert de extensie niet mee. Gebruik pgvector/pgvector:pg16, of zet bij een managed provider de vector-extensie voor die database aan voordat je Appsweet start.

De poort is gemapt maar er antwoordt niets

APPSWEET_BIND_ADDR staat standaard op 127.0.0.1:3000, en dat is binnen een container de loopback van de container zelf — de gepubliceerde poort bereikt niets. Zet hem op 0.0.0.0:3000 en laat de container-runtime of je proxy bepalen wat er naar buiten komt.

Inloggen komt nooit terug

De redirect-URI's worden afgeleid van APPSWEET_PUBLIC_BASE_URL, dus als die niet overeenkomt met de URL waar de browser werkelijk op zit, eindigt de rondgang ergens onbereikbaars. Zet hem op de publieke URL, en zorg dat APPSWEET_OIDC_ISSUER en APPSWEET_OIDC_CLIENT_ID allebei naar de identity provider wijzen die je echt gebruikt.

Bestandsuploads mislukken

Objectopslag is vereist voor een echte deployment, maar de backend weigert niet te starten zonder: hij komt op met bestanden uitgeschakeld en al het andere werkend, en logt daar niets over. Zijn bestanden dus het enige dat kapot is, dan is de waarschijnlijke oorzaak dat APPSWEET_S3_ENDPOINT nooit is ingesteld. Een endpoint zonder accesskey, zonder secretkey of met een onleesbare APPSWEET_S3_PRESIGN_TTL_SECS schakelt bestanden ook uit, maar dat geval logt wél — storage configuration is invalid; files disabled. Credentials die er wel zijn maar niet kloppen, falen later, bij de upload zelf. Kunnen clients het interne endpoint niet bereiken, stel dan ook APPSWEET_S3_PUBLIC_ENDPOINT in, want presigned URL's worden daartegen aangemaakt.

De image wil niet pullen

Het pakket appsweet-backend is privé zolang de gesloten bèta loopt. Zonder een ghcr.io-credential met leesrechten op packages meldt het register de image als niet gevonden in plaats van als verboden — wat leest als een typefout in de verwijzing, maar dat niet is.

Terug naar appsweet.appBewerk deze pagina op GitHub