Overview
Regular updates ensure your Documenso instance stays secure, stable, and feature-rich. This guide covers update procedures for both Docker and manual deployments.Version Information
Documenso follows semantic versioning (MAJOR.MINOR.PATCH):- Major versions (e.g., 1.x to 2.x): Breaking changes, may require migration steps
- Minor versions (e.g., 2.1 to 2.2): New features, backward compatible
- Patch versions (e.g., 2.1.0 to 2.1.1): Bug fixes, security patches
- GitHub releases: https://github.com/documenso/documenso/releases
- In-app: Check the footer of your Documenso instance
Pre-Update Checklist
Before updating, complete these steps:Review release notes
Check the GitHub releases page for:
- Breaking changes
- New environment variables
- Database migration notes
- Special upgrade instructions
Backup your data
Create a complete backup of:
- PostgreSQL database
- Document files (S3 bucket or database)
- Configuration files (
.env, docker-compose.yml) - SSL certificates and signing certificates
Check system requirements
Verify your system meets the requirements for the new version:
- Node.js version (currently v22 or above)
- PostgreSQL version compatibility
- Available disk space
- Memory requirements
Docker Updates
Using Docker Compose
For Docker Compose deployments, follow these steps:Database migrations run automatically when the container starts (via
/app/start.sh). You’ll see “Running database migrations…” in the logs.Using Docker Run
If you’re usingdocker run instead of Docker Compose:
Pinning to Specific Versions
Instead of using:latest, pin to specific versions for predictable updates:
docker-compose.yml to the desired version, then run:
Manual/Bare-Metal Updates
For manual installations without Docker:Kubernetes Updates
For Kubernetes deployments:Rollback in Kubernetes
If the update fails:Database Migrations
How Migrations Work
Documenso uses Prisma for database migrations. The migration process:- Docker: Migrations run automatically via the startup script at
/app/start.sh:28 - Manual: You must run migrations manually before starting the app
packages/prisma/migrations/. Each migration is timestamped and named descriptively.
Manual Migration Commands
Migration Failures
If a migration fails:- Check the error message in the logs
-
Common issues:
- Timeout: Large tables may need increased timeout settings
- Constraint violation: Data conflicts with new constraints
- Permissions: Database user lacks necessary privileges
- Resolution steps:
Post-Update Verification
After updating, verify the installation:Health Checks
Functional Tests
- Login: Verify you can log in with existing credentials
- Document access: Open an existing document to verify data integrity
- New document: Upload and send a test document
- Signature: Sign a test document to verify signing certificates work
- Webhooks: Check webhook delivery (if configured)
- API: Test API endpoints if you have integrations
Check Logs for Errors
- Database connection errors
- Certificate loading issues
- Migration warnings
- Email service failures
Rollback Procedures
If an update causes issues, rollback to the previous version:Docker Rollback
Manual Rollback
Update Best Practices
Test updates in a staging environment
Test updates in a staging environment
Before updating production:
- Clone your production environment
- Restore a recent backup to staging
- Test the update process
- Verify all functionality
- Only then update production
Keep dependencies updated
Keep dependencies updated
Beyond Documenso itself, maintain:
- PostgreSQL: Keep within supported versions
- Node.js: Update to the latest LTS version (currently v22+)
- Docker: Update Docker Engine and Compose
- OS packages: Regular security updates
Monitor for security releases
Monitor for security releases
Subscribe to security notifications:
- GitHub: Watch the repository and enable security alerts
- Discord: Join the Documenso Discord
- RSS: Subscribe to the releases feed
Automate updates (with caution)
Automate updates (with caution)
For patch releases, consider automation:
Document your configuration
Document your configuration
Keep a changelog of:
- Environment variables and their values
- Custom configurations
- Integration endpoints
- SSL certificates and expiry dates
- Signing certificate details
Updating Environment Variables
Some updates introduce new environment variables:- Check release notes for new variables
- Review
.env.examplein the new version - Add new variables to your
.envfile - Restart the application for changes to take effect
Troubleshooting Updates
Common issues and solutions:Container won't start after update
Container won't start after update
Symptom: Container exits immediately or enters a restart loopSolutions:
Migration timeout on large databases
Migration timeout on large databases
Symptom: Migration fails with timeout errorSolutions:
Certificate signing stopped working
Certificate signing stopped working
Symptom: Documents can’t be signed after updateSolutions:
Related Resources
Backups
Learn how to backup and restore your Documenso data
Monitoring
Set up monitoring and health checks
Troubleshooting
Common issues and their solutions
GitHub Releases
View all available versions and release notes
