3.5 KiB
Grist Cloudron Package Build Notes
Overview
This document provides instructions for building, testing, and deploying the Grist Cloudron package. Grist is a modern, open-source spreadsheet application with database capabilities, Python formulas, and collaborative features.
Package Components
The package includes the following files:
CloudronManifest.json
- Configuration file for CloudronDockerfile
- Instructions for building the Docker imagestart.sh
- Initialization and startup scriptsupervisor.conf
- Process management configurationnginx-app.conf
- NGINX site configurationnginx.conf
- NGINX main configurationlogo.png
- Grist logo for Cloudron (needs to be added)
Prerequisites
- Cloudron server (v7.0.0 or newer)
- Docker installed on your build machine
- Cloudron CLI installed on your build machine
Build Instructions
-
Prepare the package directory
Create a directory for your package and place all the files in it:
mkdir -p grist-cloudron cd grist-cloudron # Copy all files into this directory
-
Add the Grist logo
Download the Grist logo and save it as
logo.png
in the package directory:curl -o logo.png https://raw.githubusercontent.com/gristlabs/grist-core/main/static/favicon.png
-
Create an initialization data directory
mkdir -p init_data
-
Build the Docker image
cloudron build
Testing the Package
-
Install the package on your Cloudron for testing
cloudron install —image your-docker-image-name
-
Verify the installation
Once installed, navigate to the app’s URL and verify that:
- The login page appears correctly
- You can log in using your Cloudron credentials
- You can create and edit documents
- Document imports and exports work properly
- Python formulas are functioning correctly
-
Test authentication
Verify that:
- Authentication with Cloudron accounts works
- User permissions are applied correctly
- Logging out works properly
Common Issues and Troubleshooting
-
Authentication Issues
- Check that the OAuth configuration is correct in
CloudronManifest.json
- Verify environment variables in
start.sh
related to OIDC
- Check that the OAuth configuration is correct in
-
Database Connection Problems
- Verify PostgreSQL addon configuration
- Check logs for database connection errors
-
Grist Not Starting
- Check supervisord logs:
cloudron logs -f
- Verify that the required directories exist and have proper permissions
- Check supervisord logs:
-
File Upload Issues
- Verify the
client_max_body_size
setting in the NGINX configuration
- Verify the
Deployment
-
Prepare the package for production
cloudron build cloudron upload
-
Install from the Cloudron App Store
After submission and approval, users can install directly from the Cloudron App Store.
Maintenance
-
Updating Grist
To update Grist to a newer version:
- Update the git clone command in the
Dockerfile
- Update the version in
CloudronManifest.json
- Rebuild and redeploy
- Update the git clone command in the
-
Backing Up
Cloudron automatically backs up:
- The PostgreSQL database
- The
/app/data
directory containing all Grist documents