Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 2.58 KB

File metadata and controls

73 lines (53 loc) · 2.58 KB

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.