Skip to content

Dodanie komend do instalacji, backupu i aktualizacji Baserow#233

Open
DawidAdamski wants to merge 6 commits into
unkn0w:mainfrom
DawidAdamski:feature/baserow-install
Open

Dodanie komend do instalacji, backupu i aktualizacji Baserow#233
DawidAdamski wants to merge 6 commits into
unkn0w:mainfrom
DawidAdamski:feature/baserow-install

Conversation

@DawidAdamski
Copy link
Copy Markdown

Ten PR dodaje obsługę Baserow do default-tools, w stylu zbliżonym do istniejących narzędzi dla n8n, ale dostosowaną do tego, jak Baserow działa oficjalnie w Dockerze.

Zakres zmian

Dodane zostały nowe komendy:

  • baserow_install
  • baserow_backup
  • baserow_update

Szczegóły implementacji

  • baserow_install uruchamia Baserow na bazie oficjalnego obrazu baserow/baserow w wariancie single-container
  • trwałe dane są przechowywane w /root/.baserow/data
  • konfiguracja instalatora jest trzymana osobno w /root/.baserow/mikrus.cfg
  • instalator zapisuje:
    • PORT
    • DOMAIN
    • BASEROW_VERSION
    • BASEROW_IMAGE_REF
  • jeśli obraz nie udostępnia wersji semantycznej w labelach, instalacja przypina obraz po digest
  • logika wyboru portu została dopasowana do realiów Mikrusa:
    • port podany jako argument, jeśli został przekazany
    • port zapisany w configu, jeśli istnieje
    • w przeciwnym razie domyślnie 30000 + ID maszyny
  • BASEROW_PUBLIC_URL ustawiane jest na publiczny adres https://...wykr.es
  • sprawdzanie gotowości aplikacji zostało oparte na rzeczywistej odpowiedzi HTTP po localhost, zamiast na kruchym dopasowaniu pojedynczego komunikatu z logów

Backup i update

  • baserow_backup
    • bez argumentów konfiguruje cron
    • tworzy backup do /backup/baserow
    • archiwizuje cały katalog /root/.baserow
    • na czas backupu tymczasowo zatrzymuje kontener baserow, a potem uruchamia go ponownie, żeby zachować spójność danych
  • baserow_update
    • najpierw wykonuje backup
    • następnie uruchamia ponownie baserow_install, co pobiera najnowszy obraz i odtwarza kontener na tych samych danych

Dlaczego tak

Chciałem zachować UX podobny do istniejących komend n8n, ale nie kopiować ich architektury 1:1.
Baserow oficjalnie wspiera wariant single-container z wbudowanym PostgreSQL i Redis, więc pierwszy wariant wdrożony w tym PR opiera się właśnie na tym modelu.

Testy

Zmiany były testowane na realnym serwerze Mikrus.
W trakcie testów zostały dopracowane:

  • wykrywanie wersji obrazu
  • domyślny wybór portu
  • publiczny URL
  • warunek uznania aplikacji za gotową

Ten PR obejmuje pierwszy wariant Baserow.
Obsługa zewnętrznego PostgreSQL i Valkey może zostać dodana później jako osobny kolejny krok.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant