commit 3f667f792a31f323e6db8de2a48cd309f2db417e Author: marlon Date: Tue Apr 14 20:19:02 2026 -0400 initial diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..cd906e2 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,38 @@ +--- +kind: pipeline +name: deploy to swarm-test.autonomic.zone +steps: + - name: deployment + image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest + settings: + host: swarm-test.autonomic.zone + stack: baserow + generate_secrets: true + purge: true + deploy_key: + from_secret: drone_ssh_swarm_test + networks: + - proxy + environment: + DOMAIN: baserow.swarm-test.autonomic.zone + STACK_NAME: baserow + LETS_ENCRYPT_ENV: production +trigger: + branch: + - main +--- +kind: pipeline +name: generate recipe catalogue +steps: + - name: release a new version + image: plugins/downstream + settings: + server: https://build.coopcloud.tech + token: + from_secret: drone_abra-bot_token + fork: true + repositories: + - toolshed/auto-recipes-catalogue-json + +trigger: + event: tag diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..77a978b --- /dev/null +++ b/.env.sample @@ -0,0 +1,15 @@ +TYPE=baserow + +DOMAIN=baserow.example.com + +COMPOSE_FILE="compose.yml" + +## Domain aliases +#EXTRA_DOMAINS=', `www.baserow.example.com`' + +## Automatically use subdomains under following domain (anything.example.com) +#WILDCARD_DOMAIN='example.com' + +LETS_ENCRYPT_ENV=production + +ROOT_EMAIL="admin@example.com" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a6353d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.envrc diff --git a/README.md b/README.md new file mode 100644 index 0000000..e85263b --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# baserow + +> Minimum Viable deploy of Baserow: Open source no-code database and Airtable alternative + + + +* **Category**: Apps +* **Status**: 0 +* **Image**: [`baserow`](https://hub.docker.com/r/baserow), 4, upstream +* **Healthcheck**: Yes (using https://baserow.io/docs/installation%2Finstall-with-docker#running-healthchecks-on-baserow) +* **Backups**: No +* **Email**: No +* **Tests**: No +* **SSO**: No + + + +## Quick start + +* `abra app new baserow` +* `abra app config ` +* `abra app deploy ` + +## Resources + +* Baserow requires over 2GB RAM to run on Co-op Cloud with default settings +* For environments with 2GB or less RAM, run `abra app config ` and uncomment the `For low-resource machines` config block +* More info: https://hub.docker.com/r/baserow/baserow/#scaling-options + +For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech). + diff --git a/abra.sh b/abra.sh new file mode 100644 index 0000000..6d93447 --- /dev/null +++ b/abra.sh @@ -0,0 +1 @@ +export PG_BACKUP_CONFIG_VERSION=v1 \ No newline at end of file diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..7a8a13a --- /dev/null +++ b/compose.yml @@ -0,0 +1,75 @@ +--- +version: "3.8" + +services: + app: + image: formio/formio:4.6.2 + networks: + - proxy + - internal + environment: + DEBUG: formio:* + NODE_CONFIG: '{"mongo": "mongodb://mongo:27017/formio"}' + ROOT_PASSWORD_FILE: annoying + secrets: + - root_pass + deploy: + restart_policy: + condition: on-failure + labels: + - "traefik.enable=true" + - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3001" + - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS}) || HostRegexp(`{subdomain:\\w+}.${WILDCARD_DOMAIN}`)" + - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" + - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" + ## Redirect from EXTRA_DOMAINS to DOMAIN + #- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" + #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" + #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" +# - "backupbot.backup=true" +# - "backupbot.backup.path=/baserow/data" +# - "backupbot.backup.pre-hook=/backup.sh pre-backup" +# - "backupbot.backup.post-hook=/backup.sh post-backup" +# - "backupbot.restore.post-hook=/backup.sh post-restore" + - "coop-cloud.${STACK_NAME}.version=0.0.1+4.6.2" +# healthcheck: +# test: ["CMD", "./baserow.sh", "backend-cmd", "backend-healthcheck"] +# interval: 30s +# timeout: 10s +# retries: 10 +# start_period: 1m + configs: + - source: backup-postgres + target: /backup.sh + mode: 0777 + mongodb: + image: mongo:8.2.6 + networks: + - internal + volumes: + - data:/data/db + environment: + MONGO_INITDB_ROOT_USERNAME: "root" + MONGO_INITDB_ROOT_PASSWORD_FILE: "/run/secrets/mongo_pass" + secrets: + - mongo_pass + +volumes: + data: + +configs: + backup-postgres: + name: backup-postgres_${PG_BACKUP_CONFIG_VERSION} + file: ./backup-postgres.sh + +networks: + proxy: + external: true + +secrets: + root_pass: + external: true + name: ${STACK_NAME}_root_pass_${SECRET_ROOT_PASS_VERSION} + mongo_pass: + external: true + name: ${STACK_NAME}_mongo_pass_${SECRET_MONGO_PASS_VERSION}