
Tabularia is an open-source, self-hosted data preparation platform: people build data flows visually — joins, filters, pivots, SQL, Python and R — on data from databases, files, SFTP, S3, APIs and SharePoint, run them on the engine that fits (Polars, DuckDB, chDB, an external ClickHouse, BigQuery), and publish trusted datasets, pixel-perfect reports and live dashboards. Permissions, data contracts, lineage and an audit trail come with it from the first day.
This image is the gateway, Tabularia's control plane, written in Go since 1.4.0: the API every client talks to, and the background work that runs the flows.
It answers the same routes as the Python gateway it replaces, with the same database,
cookies and errors, checked request by request against it. On 2 CPUs one replica answers
9 to 45 times the requests a second (7,600 a second on /auth/me) and uses 10 MB of memory
idle instead of 141.
APP__ROLE chooses what a process does:
APP__ROLE | What it does |
|---|---|
api | answers requests. Stateless: replicate it when people wait |
orchestrator | the background work: fires the schedules, executes the flows, reconciles the runs, cleans up. Several can run; they share the work through the database |
all (the default) | both, in one process: the small installations |
| Image | What it is |
|---|---|
jumpasaservice/tabularia-gateway-go | the control plane: API, sign-in, permissions, orchestration (this image) |
jumpasaservice/tabularia-gateway | the AI service (APP__ROLE=ai): the AI assistant, the SQL parsing, the schema migrations. Required: this gateway does not start without it |
jumpasaservice/tabularia-backend | the engine API and its workers: where the data is read, transformed and written |
jumpasaservice/tabularia-frontend | the web app |
With PostgreSQL, Valkey (or Redis) and an S3-compatible object storage. The gateway processes no data itself: the engine does.
| Tag | Meaning |
|---|---|
1.4.0 | one release, for linux/amd64 and linux/arm64 |
1.4 | the latest 1.4.x |
latest | the latest stable release |
1.4.0-amd64, 1.4.0-arm64 | one architecture only |
The first release of this image is 1.4.0. Pin an exact version in production and upgrade
all the images together, following the
upgrade guide. Every release is described
in the changelog.
FORWARDED_ALLOW_IPS, now
GATEWAY_GO__FORWARDED_ALLOW_IPS.Settings are environment variables, the same as the Python gateway's; the ones the gateway needs first:
| Variable | What it is |
|---|---|
GATEWAY_GO__AI_SERVICE | the AI service's address, for example http://ai:8000: required |
APP__ROLE | api, orchestrator or all (the default) |
DB__HOST, DB__PORT, DB__USER, DB__PASSWORD, DB__NAME (or DB__URL) | the PostgreSQL metadata database |
JWT__SECRET | signs the sessions: at least 32 characters, the same in every gateway |
SECURITY__FERNET_KEY | encrypts the saved credentials and signs the internal calls; the same key in the gateway, the AI service and the engine, kept with the backups |
ENGINE__BASE_URL | the engine API's internal address, for example http://backend:8000 |
GATEWAY_GO__FORWARDED_ALLOW_IPS | the proxies whose X-Forwarded-For is believed: 127.0.0.1 by default, * for any |
GATEWAY_GO__LISTEN | where it listens: :8000 by default |
All of them, with defaults and the Helm values that set them: configuration reference. Many limits, waits and caps can also be changed while it runs, from Administration → Settings.
The schema. This gateway never migrates the database: at start it checks that the
schema is at the revision it reads, and stops otherwise. The migrations run from the AI
service's image (python -m app.db.migra; the Helm chart does it in an init container).
GET /health answers while the app is serving (a liveness check)./tmp, and works with a
read-only root filesystem.pg_dump and pg_restore for PostgreSQL 14 to 18, for the database backups.SIGTERM: it finishes the requests in flight; an orchestrator closes
the runs it was carrying as interrupted.Before a release is pushed, its images are built for both architectures, started for a smoke test, checked for the licences of the packages they hold, and scanned for secrets (the maintainers' fingerprints and TruffleHog's verified credentials). The process is described in the repository: release process.
Content type
Image
Digest
sha256:d8172b186…
Size
41.7 MB
Last updated
1 day ago
docker pull jumpasaservice/tabularia-gateway-go