From c2493dc58a7f13c7020521702d084284edbc2991 Mon Sep 17 00:00:00 2001 From: Paul Payne Date: Fri, 19 Jun 2026 21:29:25 +0000 Subject: [PATCH] Adds baserow app. --- baserow/app.yaml | 5 ++ baserow/versions/2/README.md | 38 +++++++++++ baserow/versions/2/db-init-job.yaml | 63 +++++++++++++++++ baserow/versions/2/deployment.yaml | 98 +++++++++++++++++++++++++++ baserow/versions/2/ingress.yaml | 26 +++++++ baserow/versions/2/kustomization.yaml | 16 +++++ baserow/versions/2/manifest.yaml | 23 +++++++ baserow/versions/2/namespace.yaml | 4 ++ baserow/versions/2/pvc.yaml | 11 +++ baserow/versions/2/service.yaml | 13 ++++ 10 files changed, 297 insertions(+) create mode 100644 baserow/app.yaml create mode 100644 baserow/versions/2/README.md create mode 100644 baserow/versions/2/db-init-job.yaml create mode 100644 baserow/versions/2/deployment.yaml create mode 100644 baserow/versions/2/ingress.yaml create mode 100644 baserow/versions/2/kustomization.yaml create mode 100644 baserow/versions/2/manifest.yaml create mode 100644 baserow/versions/2/namespace.yaml create mode 100644 baserow/versions/2/pvc.yaml create mode 100644 baserow/versions/2/service.yaml diff --git a/baserow/app.yaml b/baserow/app.yaml new file mode 100644 index 0000000..0c91951 --- /dev/null +++ b/baserow/app.yaml @@ -0,0 +1,5 @@ +name: baserow +is: baserow +description: Baserow is an open-source no-code database platform and Airtable alternative. Create and manage databases through a spreadsheet-like interface without writing code. +icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/baserow.svg +latest: "2" diff --git a/baserow/versions/2/README.md b/baserow/versions/2/README.md new file mode 100644 index 0000000..39055c8 --- /dev/null +++ b/baserow/versions/2/README.md @@ -0,0 +1,38 @@ +# Baserow + +Baserow is an open-source no-code database platform — a self-hosted alternative to Airtable. + +## Dependencies + +- **PostgreSQL** - Database for storing tables and workspace data +- **Redis** - Used for caching and background job queuing + +## Configuration + +Key settings in `config.yaml`: + +- **domain** - Where Baserow will be accessible +- **storage** - Persistent volume size (default: `2Gi`) +- **db.name** - Database name (default: `baserow`) + +## First-Time Setup + +1. Add and deploy the app: + ```bash + wild app add baserow + wild app deploy baserow + ``` + +2. Visit the app URL and sign up to create your account. + +3. The first user to sign up can be promoted to staff/admin via the Django admin panel at `/api/admin/`. + +## Notes + +- To make a user a staff member (admin): + ```bash + kubectl exec -n baserow deploy/baserow -- python /baserow/backend/manage.py shell \ + -c "from django.contrib.auth import get_user_model; u = get_user_model().objects.get(email='your@email.com'); u.is_staff = True; u.save()" + ``` +- The `secretKey` is auto-generated in `secrets.yaml` +- Baserow supports importing data from CSV, JSON, and XML files diff --git a/baserow/versions/2/db-init-job.yaml b/baserow/versions/2/db-init-job.yaml new file mode 100644 index 0000000..9d9538e --- /dev/null +++ b/baserow/versions/2/db-init-job.yaml @@ -0,0 +1,63 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: baserow-db-init + namespace: {{ .namespace }} + labels: + component: db-init +spec: + template: + metadata: + labels: + component: db-init + spec: + securityContext: + runAsNonRoot: true + runAsUser: 999 + runAsGroup: 999 + seccompProfile: + type: RuntimeDefault + containers: + - name: db-init + image: postgres:17 + command: ["/bin/bash", "-c"] + args: + - | + PGPASSWORD=${POSTGRES_ADMIN_PASSWORD} psql -h ${DB_HOSTNAME} -U postgres <