Repository navigation
Service: Grist Core
Grist is an open source relational spreadsheet that combines the flexibility of a spreadsheet with the robustness of a database. Available as an open web service in Eyevinn Open Source Cloud, it lets you build data tables, views and dashboards without running your own server. This guide walks you through the steps to get started.
- If you have not already done so, sign up for an Eyevinn OSC account
Grist needs two dependencies: a PostgreSQL database for users, workspaces and document metadata, and S3-compatible object storage for the document files.
Navigate to the PostgreSQL service and create an instance. Note the IP and port. The connection URL has the form postgres://postgres:<password>@<IP>:<PORT>/grist. The database name defaults to grist if left out.
Navigate to the MinIO service and create an instance. Create a bucket for the Grist documents and enable versioning on it. Without versioning Grist stops at startup with a fatal error. The access key is the MinIO RootUser and the secret key is the RootPassword.
Go to the tab "Service Secrets" on the Grist service page and create secrets, for example griststatedb for the PostgreSQL URL and grists3secret for the MinIO secret key.
Go to the tab "My grist-cores" and click "Create grist-core". Fill in:
| Option | Description |
|---|---|
name |
Instance name |
DatabaseUrl |
PostgreSQL URL, for example {{secrets.griststatedb}}
|
S3Endpoint |
Full URL of the MinIO instance |
S3Bucket |
Name of the versioned bucket |
S3AccessKey |
MinIO access key |
S3SecretKey |
MinIO secret key, for example {{secrets.grists3secret}}
|
AdminEmail |
Email address of the default user and installation admin |
SessionSecret |
Optional. A random string used to sign login sessions. If left empty a new one is generated on each start, which signs everyone out when the instance restarts |
Grist has no default password. Open /login on the instance URL once to sign in as the user with the email address you set in AdminEmail.
osc create gristlabs-grist-core mygrist \
-o DatabaseUrl="{{secrets.griststatedb}}" \
-o S3Endpoint="https://example.minio.example.com" \
-o S3Bucket="grist" \
-o S3AccessKey="<access-key>" \
-o S3SecretKey="{{secrets.grists3secret}}" \
-o AdminEmail="admin@example.com"