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

Kako samostalno hostati Baserow u 2026.: podaci, URL-ovi i sigurnosne kopije na jednom mjestu

Praktični vodič za samostalno hostanje Baserowa koji obuhvaća Docker, portove, trajne podatke, TLS, sigurnost, sigurnosne kopije i probleme koji onemogućuju produkcijsku upotrebu. Korak po korak.

Baserow container može biti označen zelenom bojom, dok funkcija do koje je korisnicima stalo i dalje ne radi. Kod Baserowa je taj skriveni kvar obično promjena javnog URL-a nakon što korisnici generiraju poveznice za dijeljenje i callback poveznice. Ovaj vodič kao kriterij prihvaćanja uzima postupak „izradi bazu podataka i prikaz, uvezi CSV, uredi retke iz dvije sesije i prenesi datoteku prije ponovnog pokretanja all-in-one stacka” te implementaciju gradi unatrag od tog rezultata.

Baserow ima specifičnu ulogu u stacku: baze podataka u stilu Airtablea koje koriste Postgres i Redis. Produkcijsko pitanje stoga nije odgovara li port 80 jednom, nego nastavljaju li stanje, dependencies i javna adresa biti usklađeni nakon ponovnog pokretanja, ažuriranja i vraćanja iz sigurnosne kopije.

O čemu Baserow ovisi

Zdravlje procesa i zdravlje proizvoda kod Baserowa dvije su odvojene stvari. Port 80 može odgovarati dok transakcija vidljiva korisniku i dalje ne uspijeva. Lokalni runtime zahtjev jest dovoljno memorije za uključene Postgres, Redis, backend i workere. Njegov lifecycle održavajte eksplicitnim kako premještanje Baserowa između hostova ne bi neprimjetno promijenilo ponašanje.

Nakon značajnih promjena konfiguracije provedite ovu provjeru spremnosti: izradite bazu podataka i prikaz, uvezite CSV, uredite retke iz dvije sesije i prenesite datoteku prije ponovnog pokretanja all-in-one stacka. Skupe vanjske provjere izostavite iz liveness probeova kako ispad providera ne bi uzrokovao restart loop. Pri planiranju kapaciteta pratite uključeni Postgres, Redis, Celery workere, broj redaka, veličinu importa i broj istodobnih editora jer je to bliže stvarnom opterećenju Baserowa nego zahtjevi za stranicama.

Docker osnova za Baserow

Sljedeća naredba čini granicu containera vidljivom, bez pretvaranja da će osigurati baš svaki vanjski servis.

docker run -d \
  --name baserow \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v baserow-data:/baserow/data \
  -e SECRET_KEY=replace-with-a-long-random-value \
  baserow/baserow:latest

Prije otvaranja ingressa provjerite resolved environment, mountove i listener. Prije izlaganja potvrdite lokalni zahtjev: dovoljno memorije za uključene Postgres, Redis, backend i workere. Uspješno pokretanje završava tek kada možete izraditi bazu podataka i prikaz, uvesti CSV, urediti retke iz dvije sesije i prenijeti datoteku prije ponovnog pokretanja all-in-one stacka, a ne kada docker ps ispiše Up.

Domene, proxy headeri i port 80

Baserow izložite putem jednog HTTPS host namea, a izvorni port 80 zadržite privatnim. Postavite BASEROW_PUBLIC_URL na točan vanjski origin. Time sprječavate da preglednici i API klijenti nauče dvije konkurentne adrese.

Na čistom klijentu provedite provjerenu transakciju i pregledajte prvi neuspjeli request. Kada su DNS ili TLS neispravni, upotrijebite vodič za prilagođenu domenu. Problem „javni URL mijenja se nakon što su korisnici generirali poveznice za dijeljenje i callback poveznice” dijagnosticirajte zasebno na razini aplikacije tek kada je ruta potvrđena.

Sigurnosno kopirajte stanje koje Baserow ne može ponovno izraditi

Točku oporavka i vrijeme oporavka za Baserow definirajte u odnosu na cijelo stablo /baserow/data i periodične logičke exporte baze podataka. Mountajte /baserow/data prije bootstrapa, zapišite bezopasne ogledne podatke i zamijenite container kako biste dokazali da je ta putanja zaista trajna. Named volume rješava trajnost nakon redeploya, ali ne rješava kompromitaciju ni gubitak servera.

Izradite čisto restore okruženje, upotrijebite istu pinanu verziju aplikacije i dokažite da se tablice, prikazi, korisnici, automatizacije i datoteke vraćaju iz potpune sigurnosne kopije /baserow/data. Zabilježite naredbe, popravke vlasništva i proteklo vrijeme. Vodič za sigurnosne kopije koristan je standard: sigurnosna kopija smatra se pouzdanom nakon vraćanja, a ne nakon uploada.

Nemojte Baserowu dati cijeli host

Modelirajte prijetnje prema radnji koju Baserow izvršava, a ne samo prema login formi. Ovdje je visokorizična pogreška korištenje all-in-one imagea bez plana sigurnosnog kopiranja njegovih uključenih servisa. Implementirajte ovu granicu: po potrebi zatvorite registraciju, sačuvajte SECRET_KEY i ograničite javne dijeljene prikaze na predviđene podatke.

SECRET_KEY generirajte jednom, držite ga izvan Gita i sačuvajte uz recovery manifest jer njegova promjena može učiniti šifrirano ili potpisano stanje aplikacije nevažećim. Pogrešku s dozvolama nemojte rješavati pokretanjem containera kao root ili širokim mountanjem hosta. Ograničenja resursa također su dio sigurnosnog dizajna kada korisnici mogu pokrenuti opterećenje uključene instance Postgresa, Redisa, Celery workera, broja redaka, veličine importa i broja istodobnih editora.

Logovi koji daju odgovor na sljedeće pitanje

Idle health check malo govori o Baserowu. Pratite uključene Postgres, Redis i Celery workere, broj redaka, veličinu importa i broj istodobnih editora, a alarmirajte prema simptomu koji korisnici doživljavaju: neuspjehu radnje „izradi bazu podataka i prikaz, uvezi CSV, uredi retke iz dvije sesije i prenesi datoteku prije ponovnog pokretanja all-in-one stacka”. Liveness održavajte lokalnim i jeftinim; readinessu dopustite da prijavi migracije ili inicijalizaciju bez izazivanja restart storma.

Rizično područje nadogradnje jest činjenica da all-in-one image pomiče više servisa zajedno, pa migracije baze podataka i aplikacije zahtijevaju probu na temelju snapshotova. Pročitajte release notes, izradite snapshot stanja, deployajte ciljnu verziju prema vraćenoj kopiji i ponovite kriterij prihvaćanja. Ako se javni URL promijeni nakon što su korisnici generirali poveznice za dijeljenje i callback poveznice, povežite client request s prvim relevantnim logom aplikacije umjesto da naslijepo brišete stanje ili dodajete redirectove.

Pet provjera jačih od zdravlja containera

Prije dolaska stvarnih korisnika izradite release worksheet za Baserow. U njemu moraju biti navedeni pinani image, port 80, canonical origin, trajne putanje i vlasnik dovoljne memorije za uključene Postgres, Redis, backend i workere. Dodajte očekivani rezultat ove transakcije: izradite bazu podataka i prikaz, uvezite CSV, uredite retke iz dvije sesije i prenesite datoteku prije ponovnog pokretanja all-in-one stacka.

Worksheet koristite nakon uobičajene zamjene i nakon čistog restorea. Oporavak se prihvaća samo ako se tablice, prikazi, korisnici, automatizacije i datoteke vrate iz potpune sigurnosne kopije /baserow/data. Prikupite i kratki resource trace koji obuhvaća uključene Postgres, Redis i Celery workere, broj redaka, veličinu importa i broj istodobnih editora; čuvajte ga uz release kako bi se buduće promjene kapaciteta uspoređivale s istim workloadom.

Uključite jedan kontrolirani kvar: pošaljite bezopasan unos blizu ograničenja resursa ili formata povezanog s ovom granicom: javni URL mijenja se nakon što su korisnici generirali poveznice za dijeljenje i callback poveznice. Potvrdite da Baserow prijavljuje problem na ispravnoj granici, vratite valjani uvjet i ponovno provedite transakciju. Time provjeravate vidljivost pogreške, a ne samo uspjeh, te sprječavate da sučelje koje izgleda zdravo prikrije pokvaren workera, callback ili vezu s bazom podataka.

Povežite Baserow s Dockupovim lifecycleom

Dockupova one-click implementacija Baserowa trebala bi učiniti zamjenu sigurnom: ruta i dalje treba ciljati port 80, secrets ne smiju biti ugrađeni u image, a trajne se putanje moraju vratiti u novom containeru. Ista implementacija može raditi na Dockup computeu ili priključenom računalu.

Dovršite rad specifičan za aplikaciju potvrdom lokalnog zahtjeva — dovoljno memorije za uključene Postgres, Redis, backend i workere — primijenite canonical javnu adresu i provedite ovu provjeru prihvaćanja: izradite bazu podataka i prikaz, uvezite CSV, uredite retke iz dvije sesije i prenesite datoteku prije ponovnog pokretanja all-in-one stacka. Rezultat restorea dodajte u runbook prije dolaska stvarnih korisnika.

Često postavljana pitanja

Što je Baserowu potrebno za produkcijsku implementaciju?

Usmjerite Baserow container na portu 80 kroz jedan HTTPS origin. Lokalni runtime zahtjev jest dovoljno memorije za uključene Postgres, Redis, backend i workere. Nemojte Baserow smatrati spremnim dok ne možete izraditi bazu podataka i prikaz, uvesti CSV, urediti retke iz dvije sesije i prenijeti datoteku prije ponovnog pokretanja all-in-one stacka.

Koji Baserowovi podaci pripadaju sigurnosnoj kopiji?

Održavajte /baserow/data trajnim i u isti recovery manifest uključite cijelo stablo /baserow/data te periodične logičke exporte baze podataka. Čisti Baserow restore uspješan je samo kada se tablice, prikazi, korisnici, automatizacije i datoteke vrate iz potpune sigurnosne kopije /baserow/data.

Zahtijeva li Baserow HTTPS iza reverse proxya?

Za javni Baserow origin koristite HTTPS, a port 80 zadržite na internoj ruti. Ispravno primijenite Baserowovu postavku: postavite BASEROW_PUBLIC_URL na točan vanjski origin. Kod Baserowa HTTPS štiti vjerodajnice ili korisnički sadržaj tijekom prijenosa i održava dosljedno ponašanje klijenta koje ovisi o originu.

Kako testirati nadogradnju Baserowa?

Vratite trenutačno Baserowovo stanje u izoliranu implementaciju, primijenite kandidatnu verziju i ponovite njegovu transakciju prihvaćanja. Obratite posebnu pozornost jer all-in-one image pomiče više servisa zajedno, pa migracije baze podataka i aplikacije zahtijevaju probu na temelju snapshotova. Prethodni Baserow image zadržite dok ne razjasnite granice migracije podataka i rollbacka.