Skip to content

Baserow

Instalacja

Baserow uruchamiany jest jako aplikacja webowa i zapisuje dane w PostgreSQL.

Założenia konfiguracyjne:

  • Plik Compose znajduje się w /srv/docker/compose/baserow
  • Dane Baserow znajdują się w /srv/docker/data/baserow
  • Sekrety (zmienne środowiskowe) znajdują się w /srv/docker/secrets/baserow/app.env
  • Baserow łączy się z PostgreSQL po sieci Dockera internal
  • Baserow jest wystawiany przez reverse proxy po sieci Dockera proxy
  • Logi dostępne są przez docker logs (bez osobnego katalogu logów)

Dostęp do sieci Docker

Wymagany dostęp do sieci proxy oraz internal

Aby udostępnić aplikację publicznie oraz komunikować się z innymi kontenerami, aplikacja wymaga dostępu do sieci Docker proxy i internal.

Tworzenie sieci Docker


Tworzenie katalogów

Tworzymy katalog dla Compose:

sudo mkdir -p /srv/docker/compose/baserow
sudo chown -R "$USER:$USER" /srv/docker/compose/baserow

Tworzymy katalog na dane Baserow:

sudo mkdir -p /srv/docker/data/baserow
sudo chown -R "$USER:$USER" /srv/docker/data/baserow

Tworzymy katalog na sekrety:

sudo mkdir -p /srv/docker/secrets/baserow
sudo chown -R "$USER:$USER" /srv/docker/secrets/baserow

Tworzenie bazy w PostgreSQL

Tworzymy dedykowanego użytkownika i bazę dla Baserow.

Uruchamiamy psql w kontenerze PostgreSQL:

docker exec -it postgres psql -U postgres

W psql tworzymy użytkownika i bazę:

CREATE USER baserow WITH PASSWORD 'TU_SILNE_HASLO';
CREATE DATABASE baserow OWNER baserow;
GRANT ALL PRIVILEGES ON DATABASE baserow TO baserow;

Wychodzimy z psql:

\q

Tworzenie pliku app.env

Tworzymy i edytujemy plik app.env:

micro /srv/docker/secrets/baserow/app.env

W pliku umieszczamy:

app.env
BASEROW_PUBLIC_URL=https://baserow.fulc.ro
TZ=Europe/Warsaw
BASEROW_TRIGGER_SYNC_TEMPLATES_AFTER_MIGRATION=false

DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_NAME=baserow
DATABASE_USER=baserow
DATABASE_PASSWORD=TU_SILNE_HASLO

Zapisujemy plik i wychodzimy z edytora.


Konfiguracja Docker Compose

Przechodzimy do katalogu Compose:

cd /srv/docker/compose/baserow

Tworzymy i edytujemy plik compose.yaml:

micro compose.yaml

W pliku umieszczamy:

compose.yaml
services:
  baserow:
    image: baserow/baserow:2.0.5
    container_name: baserow
    restart: unless-stopped

    env_file:
      - /srv/docker/secrets/baserow/app.env

    volumes:
      - /srv/docker/data/baserow:/baserow/data

    networks:
      - internal
      - proxy

networks:
  internal:
    external: true
  proxy:
    external: true

Zapisujemy plik i wychodzimy z edytora.


Uruchomienie kontenera

Uruchamiamy Baserow:

docker compose up -d

Sprawdzamy, czy kontener działa:

docker ps | grep baserow

Konfiguracja Caddy

Dodajemy wpis do Caddyfile:

Caddyfile
baserow.fulc.ro {
  reverse_proxy baserow:80
}

Przeładowujemy Caddy:

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

Test

Sprawdzamy, czy strona odpowiada:

https://baserow.fulc.ro

Podgląd logów

Podglądamy logi Baserow:

docker logs -f baserow