Monster Manual: La Suite Docs
Stat Block
| Dimension | Score | Rating |
|---|---|---|
| Structural difficulty | 6/14 | Medium |
| Compliance/maintenance | 4/13 | Moderate |
| Confidence | High | |
| Estimated packaging effort | 20-35 hours | |
| Ongoing maintenance | Moderate |
Repository: github.com/suitenumerique/docs Language: Python 49% (Django), TypeScript 41% (Next.js) License: MIT Stars: 16,200 | Last release: v4.6.0, March 2026 | Release frequency: every 2-3 weeks
The Verdict
La Suite Docs is a genuinely promising Cloudron candidate and the best “Notion alternative” option assessed in this series. The stack aligns remarkably well with Cloudron: Django backend (Python is in cloudron/base), Next.js frontend (Node.js is in cloudron/base), PostgreSQL (Cloudron addon), Redis (Cloudron addon), and native OIDC authentication that maps directly to Cloudron’s OIDC addon.
The two challenges are three processes in one container (backend, frontend, y-provider collaboration server) and the S3-compatible object storage requirement. Cloudron has no S3 addon, so Minio must run inside the container or an external endpoint must be configured.
Backed by the French and German governments, actively developed, MIT licensed, and designed for institutional self-hosting. A community member on the Cloudron forum already noted the architecture “matches Cloudron base image / platform (OIDC, PostgreSQL, Redis, S3 etc..).”
Structural Analysis
A1. Processes (1): Three application processes: Django backend (gunicorn, port 8071), Next.js frontend (port 3000), and y-provider (HocusPocus/Yjs collaboration server, port 4444). Plus nginx for internal routing. Similar complexity to docassemble.
A2. Data storage (2): PostgreSQL and Redis are Cloudron addons. But document content is stored as Yjs documents in S3/Minio. This is the primary content store, not optional. Media files also go to S3. Minio must run inside the container (~200 MB RAM) or users must provide an external S3 endpoint.
A3. Runtime (0): Python and Node.js are both in cloudron/base:5.0.0. Both runtimes already available. This is the structural sweet spot.
A4. Message broker (0): No broker. Redis is used for caching. Real-time collaboration uses WebSocket via HocusPocus/Yjs.
A5. Filesystem writes (1): Standard Django paths: media (redirected to S3), static files (collected at build), logs (stdout). Next.js cache directory. Approximately 4-5 symlinks.
A6. Authentication (0): Native OIDC support. This is the single best aspect for Cloudron packaging. Environment variables are standard OIDC: OIDC_OP_JWKS_ENDPOINT, OIDC_OP_AUTHORIZATION_ENDPOINT, OIDC_OP_TOKEN_ENDPOINT, and so on. These map directly to Cloudron’s OIDC addon. The upstream docs explicitly require “A functional Identity Provider implementing OIDC.” Cloudron IS an OIDC provider. Perfect fit.
Compliance Analysis
B1. SSO quality (0): Native OIDC that maps perfectly to Cloudron’s addon. Standard claims. Users authenticate via Cloudron’s identity provider. This is how Cloudron SSO is supposed to work.
B2. Upstream stability (1): Very active: 47 releases, 1,825 commits. Backed by the French government (DINUM) and German government (ZenDiS). Semantic versioning. The rapid pace means frequent updates, but government backing provides long-term confidence.
B3. Backup complexity (1): PostgreSQL and Redis are Cloudron-managed. Document content in S3/Minio needs filesystem backup via /app/data/minio. Works with Cloudron’s standard mechanism but data can be large.
B4. Platform fit (1): Standard HTTP with WebSocket for real-time collaboration. Double-proxy pattern (Cloudron nginx to container nginx) is common and works. WebSocket upgrade for /collaboration/ws/ needs correct header forwarding.
B5. Config drift (1): Configuration entirely via environment variables. No plugin system, no auto-updates. S3 bucket accumulates document content (capacity planning consideration).
Key Risks
S3/Minio is the primary challenge. Without S3, document content has nowhere to go. Bundling Minio adds ~200 MB RAM and a fourth process. Alternatively, users configure an external S3 endpoint. A pragmatic approach: bundle Minio by default with an option to use external S3.
Four processes under supervisor. Django backend, Next.js frontend, y-provider, and Minio, plus nginx for routing. Substantial but within the patterns used by other complex Cloudron packages.
Rapid release cadence. New version every 2-3 weeks means frequent package updates. Django migrations ship with each release.
WebSocket path routing. The y-provider receives connections on /collaboration/ws/. Must be correctly proxied through both Cloudron’s nginx and the container’s internal nginx.
Comparison with Outline
Outline is already in the Cloudron app store and has the same S3 requirement. Examining how the Outline package handles S3 would provide the blueprint for Docs. Both have similar architectures, but Docs has MIT licensing (versus Outline’s BSL 1.1), government backing, and native OIDC that is arguably cleaner.
Packaging Approach
- Base image: cloudron/base:5.0.0 (Python and Node.js already present)
- Database: PostgreSQL addon, map CLOUDRON_POSTGRESQL_* to Django DB settings
- Redis: Cloudron Redis addon, map CLOUDRON_REDIS_URL
- OIDC: Cloudron OIDC addon, map CLOUDRON_OIDC_* to OIDC_OP_* variables
- S3: Bundle Minio, data in /app/data/minio, create bucket on first boot
- Processes: Supervisor managing gunicorn, Next.js, y-provider, Minio, nginx
- Memory: 512 MB minimum, 768 MB recommended
Recommendation
This is the most valuable packaging target assessed in this series. It balances feasibility (6/14 structural, 4/13 compliance), user demand, and ecosystem fit. The OIDC integration is the best of any application assessed: direct mapping to Cloudron’s addon with no workarounds. Government backing ensures long-term stability. MIT license is permissive.
The S3 challenge is real but bounded. Outline has already solved it on Cloudron. Follow that pattern.
If Cloudron had an S3 addon, this would score 2/14 structural difficulty. That is how close it is to trivial.
Estimated time: 20-35 hours. This should be at the top of the community packaging priority list.