Monster Manual: AppFlowy Cloud
Stat Block
| Dimension | Score | Rating |
|---|---|---|
| Structural difficulty | 11/14 | Impractical |
| Compliance/maintenance | 11/13 | Very High |
| Confidence | High | |
| Estimated packaging effort | 60-100+ hours | |
| Ongoing maintenance | Very High |
Repository: github.com/AppFlowy-IO/AppFlowy-Cloud Language: Rust (server), Dart/Flutter (client) License: AGPL-3.0 (open core) Stars: 68,600 (client) / 1,800 (cloud) | Last release: 0.9.64 | Release frequency: several per week
The Verdict
AppFlowy Cloud is one of the most complex applications you could attempt to package for Cloudron. The docker-compose.yml reveals 7-10 separate containers: the Rust server, GoTrue (Supabase auth fork), PostgreSQL, Redis, Nginx, Minio, an AI server, search service, history service, and the web frontend.
GoTrue is the critical blocker. It is tightly coupled, has its own configuration and user database, and cannot be replaced by Cloudron’s LDAP or OIDC addons. A community member (timconsidine) started packaging and explicitly identified GoTrue as “a big blocker” and stated “AppFlowy will not be appearing as a Cloudron app for a while.”
Structural Analysis
A1. Processes (3): Fundamentally multi-container. Even after offloading database and Redis to Cloudron addons, you still need the Rust server, GoTrue, Minio, and the web frontend, plus nginx to route between them.
A2. Data storage (2): PostgreSQL and Redis (Cloudron addons), but also requires S3-compatible object storage (Minio). Cloudron has no S3 addon.
A3. Runtime (2): Rust binary, Go binary (GoTrue), and Node.js (web frontend). Only Node.js is in cloudron/base.
A4. Message broker (0): Redis is used for caching, not as a message queue.
A5. Filesystem writes (2): Multiple write paths across multiple services: PostgreSQL, Redis, Minio data, GoTrue config, nginx config, logs, upload directories.
A6. Authentication (2): Tightly coupled to GoTrue. No LDAP, no OIDC provider integration. GoTrue IS the identity provider. The Rust server validates GoTrue JWTs on every request. Replacing this would require forking the server.
Compliance Analysis
B1. SSO quality (3): GoTrue handles all auth with no way to accept Cloudron as an identity provider. Users must maintain completely separate credentials. Cloudron’s proxyauth would not help because API authentication is token-based (JWT).
B2. Upstream stability (3): 165 releases in approximately two years (several per week). Pre-v1.0 rapid development. Open-core model means the public repo may diverge from the commercial fork. Configuration and database schemas change frequently.
B3. Backup complexity (2): Minio/S3 contains user files that are NOT in the database. CRDT collaboration data is partly in PostgreSQL, partly in server memory.
B4. Platform fit (1): Standard HTTP with WebSocket. Works behind a reverse proxy. Internal nginx conflicts with Cloudron’s own proxy (double-proxying).
B5. Config drift (2): 50+ environment variables. GoTrue alone has 30+. Admin frontend allows runtime config changes.
Key Risks
GoTrue is architecturally baked in. Every API request validates a GoTrue JWT. No SSO integration is possible without forking. Upstream developers have explicitly stated they have no plans to support alternative auth backends.
S3/Minio must run inside the container (additional process, ~200 MB RAM). Total RAM requirement: 1.5-2 GB minimum.
Open-core licensing. Free tier limits to one user seat plus three guest editors. The public repo may lack features from the commercial fork.
Alternatives for Cloudron
- Outline (in app store): Markdown wiki/docs with OIDC support
- AFFiNE (community-packaged): similar Notion alternative, simpler architecture
- BookStack (in app store): documentation platform with LDAP/OIDC
- Docmost (worth assessing): newer Notion alternative, cleaner self-hosting
Recommendation
Do not attempt. The GoTrue dependency alone makes Cloudron SSO integration impossible. Combined with S3/Minio requirements, 5+ internal processes, licensing restrictions, and extreme release velocity, this is one of the worst candidates for Cloudron packaging.