Skip to content

OrcVole/docassemble-cloudron

Repository files navigation

Docassemble for Cloudron

A Cloudron package for docassemble, the open-source guided interview and document assembly platform.

Architecture

This package runs the upstream jhpyle/docassemble Docker image adapted for Cloudron's managed environment:

  • PostgreSQL: Cloudron addon (external, managed backups)
  • Redis: Cloudron addon (external, managed backups)
  • Message broker: LavinMQ (internal, AMQP 0.9.1 compatible, replaces RabbitMQ for dramatically lower RAM usage)
  • TLS: Cloudron reverse proxy (BEHINDHTTPSLOADBALANCER=true)
  • Email: Cloudron sendmail addon
  • Persistent storage: /app/data (Cloudron localstorage addon)

Requirements

  • Cloudron instance with at least 4 GB RAM available for this app
  • memoryLimit set to 1536 MB (configured in CloudronManifest.json)
  • PostgreSQL and Redis addons enabled

Development

# Clone and enter the project
cd /mnt/d/All/Docs/Sync/Code/Docassmble-Cloudron/Docassemble-Cloudron-v0.1

# Build and install on Cloudron
cloudron build
cloudron install --location docassemble

# Or with a remote registry
cloudron build --set-repository your-registry/docassemble-cloudron
cloudron install --location docassemble

# View logs
cloudron logs -f

# Open a shell inside the running container
cloudron exec

# Update after changes
cloudron update

File structure

CloudronManifest.json       Cloudron package manifest
Dockerfile.cloudron         Docker build file (FROM jhpyle/docassemble)
start.sh                    Entrypoint: env mapping, LavinMQ, supervisord
supervisor/                 Supervisor overrides (disable internal PG/Redis/RMQ)
nginx/                      Nginx configuration notes
docs/                       Architecture decisions and community packaging guide
DESCRIPTION.md              App store description
POSTINSTALL.md              Post-install instructions shown to user
CHANGELOG                   Version history

Key decisions

See docs/ARCHITECTURE.md for the full rationale.

  1. LavinMQ over RabbitMQ: same AMQP 0.9.1 protocol, ~40 MB vs ~200 MB RAM at rest.
  2. External PostgreSQL and Redis: Cloudron manages backups, reduces container complexity.
  3. config.yml regenerated on every boot: ensures Cloudron env var changes (domain, DB creds) always take effect. The secretkey is persisted separately.
  4. DBBACKUP=false: Cloudron handles database backups; skip docassemble's internal dump-on-shutdown.

License

The packaging files in this repository are MIT licensed. Docassemble itself is MIT licensed. LavinMQ is Apache 2.0 licensed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

No contributors