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 <