Grist

Wiki Cafe's configuration for a Grist deployment.

Deploying the app with Docker Swarm

Set the environment variables from the .env file during the shell session.

set -a && source .env && set +a

Set the secrets.

printf "SECRET_HERE" | docker secret create SECRET_NAME -

Deploy using the -c flag to specify one or multiple compose files.

docker stack deploy grist --detach=true -c compose.yaml

Miscellaneous notes

  • We may want to set GRIST_TERMS_OF_SERVICE_URL to a custom URL, such as the Wiki Cafe's terms of service.
  • Coop Cloud seems to use Pyodide as a sandboxing mechanism. We may want to replace gvisor with Pyodide in the future.
  • Not sure what APP_DOC_URL is, but we use it and it works
  • As of version 1.1.16 The Docker images now use a non-root user to run Grist.
  • As of version 1.1.17 additional security options for OIDC authentication were added, improving security and enabling compatibility with new providers that have specific requirements. These are enabled by default, according to best practices.
  • We may want to set a maximum size of document history later as it is now configurable via environment variables as of version 1.2.1.
  • There are also GRIST_SNAPSHOT_TIME_CAP and GRIST_SNAPSHOT_KEEP to look at.
  • There are also GRIST_ACTION_HISTORY_MAX_BYTES and GRIST_ACTION_HISTORY_MAX_ROWS to look at.
  • Currently, Grist stores attachments in the database, we may want to change this in the future to store them in a separate storage service like MinIO (version 1.4.0). GRIST_EXTERNAL_ATTACHMENTS_MODE related.
  • What should COOKIE_MAX_AGE be set to? The default is 90 days, but we may want to set it to a shorter time or none.
  • We should probably set GRIST_SESSION_SECRET. Not sure.
  • What does GRIST_SERVERS do? It is home,docs,static by default, but it can also have app?
  • Should we set GRIST_ORG_IN_PATH? "if true, encode org in path rather than domain" This is what we do, no?
  • GRIST_LIST_PUBLIC_SITES is an option that we can use. "if set to true, sites shared with the public will be listed for anonymous users. Defaults to false."
  • GRIST_IGNORE_SESSION: if set, Grist will not use a session for authentication? Do we want this?
  • GRIST_DOMAIN Maybe needs to be set to the Wiki Cafe's domain?
  • GRIST_DEFAULT_EMAIL gives access to /admin.
Description
No description provided
Readme 29 KiB
Languages
Shell 100%