YunoHost is the most mature free self-hosting platform, born from the personal-cloud + civic-tech communities. PMA is engineering-team-oriented. Different audiences; this page maps the overlap and divergence.
| Dimension | YunoHost | PMA |
|---|---|---|
| What it is | Debian-based self-hosting OS | Manifest-driven framework on top of Docker |
| License + cost | FOSS (GPL), $0 | FOSS (MIT/Apache), $0 |
| Audience | Hobbyists, civic-tech, families, small assoc. | Cooperatives, agencies, engineering teams |
| App count | ~400 in the catalogue | 12 bundled + write-your-own via manifest |
| Install model | Web UI (YunoHost Admin) + CLI (yunohost app install) |
just package install + git |
| Runtime model | Native Debian packages + LXC / systemd | Docker / Compose |
| SSO | Built-in (LDAP + SSOwat) | Authentik via manifest declarations |
| Multi-domain | First-class — primary feature | Single tunnel-host per env (multi-env per tenant instead) |
| Built-in (Postfix + Dovecot + Rspamd) | Postal (outbound + bounce) | |
| Backups | yunohost backup create to local / SFTP |
just backup + off-host via asd data push |
| Updates | Per-app via Admin UI or auto via cron | just release-run TICKET — operator triggered |
| System integration | Tight (Debian native) | Loose (containerised) |
| AI-agent integration | None | First-class MCP gateway |
Free-software ethos + community. YunoHost has 10+ years of FOSS community
work. The community is large, helpful, multilingual. PMA's community is
smaller + more engineering-focused.
Personal cloud / family use case. "I want my own Nextcloud + Mailbox +
WordPress + WireGuard on a Raspberry Pi". YunoHost is purpose-built for
this. PMA's profile is "small org with engineering" — different audience.
Multi-domain by default. YunoHost handles per-app subdomains + custom
domains + Let's Encrypt natively. PMA assumes one tunnel host per env;
multi-domain is possible but less ergonomic.
Email server bundled and integrated. YunoHost ships a complete mail
stack (Postfix + Dovecot + Rspamd) that gives you actual IMAP + SMTP per
user. PMA's Postal is outbound-only; inbound mail needs a separate
solution.
Lightweight on hardware. YunoHost runs on a Raspberry Pi 4 with all the
basics. PMA's enterprise stack (Authentik + Postgres + ERPNext + ELK) wants
8+ GB RAM minimum.
Bigger app catalogue. ~400 apps, including a lot of FOSS niche stuff
(IRC bouncers, federated tools, single-user games, …) that PMA doesn't
package.
Enterprise-grade service defaults. PMA's 12 services are
business-app heavyweights — Redmine, Mattermost, ERPNext, Zammad,
Authentik, Wiki.js. YunoHost has CRM apps and ticketing tools but they
trend toward lighter / hobbyist editions.
Release orchestration. PMA's four-phase release-run + per-ticket
migration scripts + automatic backups + rollback is purpose-built for
"deploy a change to prod safely". YunoHost has yunohost tools update
but no equivalent atomic release model.
Manifest-driven everything. PMA's manifest.yaml is the single
source of truth — services, ports, SSO, backups, health, E2E tests. New
service = new manifest. YunoHost apps are individual packages with
imperative install scripts.
AI-agent first-class. PMA's MCP gateway. YunoHost has no equivalent.
Multi-tenant on one host. PMA's ASD_ENV per tenant gives strong
isolation with operational sharing. YunoHost is single-tenant by design.
Container model + image pinning. PMA pins per-service image tags in
manifests. Reproducible installs across hosts. YunoHost's Debian-package
model has more "this works on Debian 12 but breaks on Debian 11" friction.
Engineering workflow integration. Git, PR review, CI, contract
validation, recovery playbooks, AI-agent operations — all built in.
YunoHost's workflow is more "admin-UI-first".
YunoHost → PMA: awkward. Both use different service-isolation models
(LXC vs Docker), different SSO (SSOwat vs Authentik), different app
packaging. Per-app data migration is feasible (export from YunoHost app
→ import into PMA's equivalent), but the app catalogue overlap isn't
1:1. Plan service-by-service migration over weeks.
PMA → YunoHost: equally awkward. PMA's manifest customisations don't
translate to YunoHost's package format. Most teams that try this end up
losing functionality.
In practice: pick one and stick. Migration between OSS self-hosting
platforms is harder than migration from SaaS to either of them.
YunoHost and PMA are both excellent FOSS self-hosting platforms. They serve
different audiences. YunoHost is the personal-cloud + community-tech
champion; PMA is the cooperative + engineering-team champion.
Same tech-stack-decision question as in vs-cloudron:
who's going to operate this, and what tools do they like?
If your operator wants yunohost app install nextcloud and a web UI:
YunoHost. If your operator wants git-reviewable manifests and atomic
release-runs: PMA.
/pma/compared/vs-cloudron — paid alternative comparison./pma/compared/vs-saas-stacks — the bigger picture: any self-host vs cloud SaaS./essays/pma-magic — long-form on PMA's positioning.