User Tools

Site Tools


setup:baserow_runbook_docker_caddy_ssl

🧠 BASEROW Runbook (Docker + Caddy + SSL)

Dokumentacija temelji na realni produkcijski namestitvi Baserow z Dockerjem in Caddy reverse proxyjem. Vključuje dejanske napake, popravke in preverjene postopke.

Namen

Ta dokument služi kot:

runbook za ponovno namestitev Baserow

referenca, kje se nahajajo datoteke

vodič za SSL, Caddy in Docker network

osnova za dodajanje novih storitev brez troubleshootinga

Lokacija aplikacije

Baserow je nameščen v:

 /opt/baserow 

Struktura:

/opt/baserow/
docker-compose.yml
data/

Vse spremembe se izvajajo izključno znotraj te mape.

Docker containerji

Aktivni containerji:

baserow

postgres

redis (če omogočen)

Preverjanje:

docker ps

Docker network

Baserow mora biti priključen na external network proxy.

V docker-compose.yml:

networks:
proxy:
external: true

Razlog:

Caddy uporablja Docker DNS

brez tega reverse proxy ne deluje

Preverjanje:

docker network inspect proxy

Caddy konfiguracija

Caddy je centralni reverse proxy za vse storitve.

Caddyfile se nahaja v:

/opt/caddy/Caddyfile

Minimalna konfiguracija za Baserow:

baserow.krofekhost.com {
reverse_proxy baserow:80
}

Ponovno nalaganje brez restarta:

docker exec -it caddy caddy reload --config /etc/caddy/Caddyfile

SSL certifikati

SSL certifikate:

izdaja Caddy (Let’s Encrypt)

shranjeni so v Caddy volume

ročna konfiguracija NI potrebna

Preverjanje:

curl -I https://baserow.krofekhost.com

Kritične environment spremenljivke

V docker-compose.yml mora biti pravilno nastavljen:

 BASEROW_PUBLIC_URL=https://baserow.krofekhost.com 

Če ni pravilno:

login redirecti ne delujejo

API vrača napačne URL-je

Incidenti (resnični primeri)

MultipleObjectsReturned – PasswordAuthProvider

Napaka:

MultipleObjectsReturned: get() returned more than one PasswordAuthProviderModel

Vzrok:

podvojen auth provider v bazi

upgrade ali broken migration

Rešitev:

Vstop v container:

docker exec -it baserow bash

Django shell:

cd /baserow/backend/src/baserow
/baserow/venv/bin/python manage.py shell

Popravek:

from baserow.core.auth_provider.models import PasswordAuthProviderModel
qs = PasswordAuthProviderModel.objects.all().order_by("id")
qs[1:].delete()

Restart:

docker restart baserow

Testiranje

HTTP test:

curl -I https://baserow.krofekhost.com

Funkcionalni test:

prijava

ustvarjanje tabele

API klic

Backup

Priporočen DB backup:

docker exec baserow pg_dumpall > /root/backup_baserow.sql

Povzetek

ena aplikacija = en docker-compose

vedno proxy network

SSL vedno prek Caddy

auth napake = DB problem

volume briši samo z razlogom

setup/baserow_runbook_docker_caddy_ssl.txt · Last modified: by sistemc