Levelrail
Skip to content

Self-host Grist with Docker ​

A modern relational spreadsheet that combines spreadsheet flexibility with database structure.

This page describes the Levelrail template for Grist (Productivity). It deploys the services below as one Docker Compose app on your own server.

Project site: https://support.getgrist.com.

Recommended memory: about 512 MiB.

Services, ports and volumes ​

ServiceImageContainer portsVolumes
dbpostgres:16-alpinenone
grist_db_data -> /var/lib/postgresql/data
gristgristlabs/grist:1.3.38484
grist_data -> /persist
redisredis:7-alpinenone
grist_redis_data -> /data

Environment variables ​

ServiceVariableValue
dbPOSTGRES_DBPreset in the template
dbPOSTGRES_PASSWORDGenerated at deploy
dbPOSTGRES_USERGenerated at deploy
gristGRIST_SESSION_SECRETGenerated at deploy
gristREDIS_URLPreset in the template
gristTYPEORM_DATABASEPreset in the template
gristTYPEORM_HOSTPreset in the template
gristTYPEORM_PASSWORDGenerated at deploy
gristTYPEORM_TYPEPreset in the template
gristTYPEORM_USERNAMEGenerated at deploy

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

Deploy Grist with Levelrail ​

In the dashboard, open Apps, choose New app, then Browse templates, and select Grist. Review the Compose body and deploy.

With the CLI:

levelrail-cli templates deploy grist --name my-grist

See Service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.

More Productivity templates ​

All templates are listed in the self-host gallery.

Released under the Apache 2.0 License.