YunoHost is a free, open-source server operating system based on Debian that makes self-hosting accessible to non-experts. Through a web admin panel you add domains, create users, install apps (Nextcloud, WordPress, Vaultwarden, Jellyfin, Gitea and hundreds more) with single sign-on, run your own email, and take backups. There’s no need to touch Docker or write Nginx configs.
Comparison: see Cloudron alternatives.
Requirements
- A fresh Debian 12 VPS. YunoHost takes over the system (Nginx, Postfix, Dovecot, SSOwat, firewall), so don’t install it on a server already running other services.
- At least 1 GB RAM. 2–4 GB is comfortable for several apps, and Nextcloud plus others need more. See how much RAM a VPS needs.
- A domain name (or a free
nohost.mesubdomain from YunoHost).
Install
On a fresh Debian 12 server, as root:
curl https://install.yunohost.org | bash
When it finishes, open https://<server-ip> (accept the self-signed certificate warning) to run the post-installation, or run it from the shell:
yunohost tools postinstall
Post-install asks for the main domain and the first admin user.
Domains, DNS and certificates
- Admin → Domains → your domain → DNS: YunoHost shows the records you need (A, MX, SPF, DKIM, DMARC, and others). Add them at your DNS provider. See DNS records explained.
- Certificate: once DNS points to the server, install a Let’s Encrypt certificate with one click. It renews automatically.
- Run Diagnosis (Admin → Diagnosis). It checks DNS, ports, email setup, disk space, and more.
Users and single sign-on
Create users in the admin panel. Each user gets:
- a login for the user portal (SSO), which opens the apps they’re allowed to use;
- an email address on your domain (if mail is set up).
Apps installed with SSO support use these accounts automatically. Set per-app permissions (Users → Groups and permissions).
Install apps
Admin → Applications → Install: pick an app, choose a domain and path (for example cloud.example.com/ or example.com/blog), and select the admin user. The catalogue labels each app with a quality level. Prefer well-maintained apps.
Command line equivalent:
yunohost app install nextcloud
yunohost app list
yunohost app upgrade
YunoHost includes a full mail stack (Postfix, Dovecot, Rspamd) with webmail apps such as Roundcube or SnappyMail. For good deliverability you need:
- outbound port 25 open at your provider;
- a PTR (reverse DNS) record matching your mail domain;
- SPF, DKIM and DMARC (shown on the DNS page).
On VPS.DO, outbound mail and PTR records are supported on USA VPS plans, and you can set PTR in the client area. See email VPS and SPF, DKIM and DMARC.
Backups
yunohost backup create # system + all apps
yunohost backup list
yunohost backup restore <name>
Backups land in /home/yunohost.backup/archives. Copy them off the server (rsync, rclone, or a backup app such as BorgBackup from the catalogue). See backup strategy.
Security
- Use strong passwords for the admin account and users.
- YunoHost configures its own firewall and Fail2ban. Open extra ports only via
yunohost firewall allow. - Change the SSH port, or disable password login, in YunoHost’s security settings (Admin → Tools → Settings).
- Update regularly: Admin → Tools → System update (system packages and apps).
Limitations
- YunoHost manages the whole server, so mixing it with hand-configured services is fragile.
- App packages lag behind upstream releases sometimes.
- Uncommon apps may be less polished. Check the package’s level and issues.
Quick reference
| Task | Command |
|---|---|
| Install | curl https://install.yunohost.org | bash |
| Post-install | yunohost tools postinstall |
| Diagnosis | yunohost diagnosis run |
| Install app | yunohost app install <app> |
| Backup | yunohost backup create |
| Updates | yunohost tools update && yunohost tools upgrade |
Related: self-hosting for beginners and Debian VPS.