CasaOS: A Simple Home Server Operating System
Getting a home server running is the easy part. Managing it long-term — installing apps, keeping them updated, monitoring storage, adding new services — is where most setups get messy. CasaOS is an attempt to make that management layer simple enough that non-technical household members can use it.
Photo by William Warby on Unsplash
It's a web-based home server platform built on Docker. Install it on any Linux machine, and you get an app store with one-click installs for Jellyfin, Nextcloud, Immich, Pi-hole, and hundreds of other services. No docker-compose files required — unless you want them.
What CasaOS Is
CasaOS runs on top of a standard Linux installation. It adds:
- Web-based dashboard: System overview with CPU, memory, and storage usage
- App Store: One-click install for popular self-hosted apps
- File manager: Browse and manage files through the browser
- Docker management: View running containers, logs, and settings
- User management: Multiple accounts with permission levels
- Storage manager: Configure drives, mount external storage
The emphasis is on simplicity. You don't need to know docker-compose syntax to install Jellyfin — you click "Install" in the app store and it's running in under a minute.
Installation
CasaOS installs via a single command on Debian/Ubuntu-based Linux systems:
wget -qO- https://get.casaos.io | sudo bash
After installation, navigate to http://your-server-ip (port 80 or the port displayed during install). You'll set up an admin account on first access.
Supported platforms:
- Raspberry Pi 4 / 5 (Raspberry Pi OS, Ubuntu)
- Any x86_64 machine running Ubuntu 22.04 or Debian 11/12
- ZimaBoard and other ARM single-board computers
The installer detects your architecture automatically and installs the correct binaries.
The App Store
The CasaOS App Store is the primary reason to use it over raw Docker. Available apps include:
Media:
- Jellyfin, Plex, Emby
- Navidrome, Kavita, Audiobookshelf
- Photoprism, Immich
Files and productivity:
- Nextcloud, Seafile
- Filebrowser, Syncthing
- Vaultwarden, Bitwarden
Network:
- Pi-hole, AdGuard Home, Technitium DNS
- WireGuard Easy
- Nginx Proxy Manager
Development and automation:
- Gitea, Woodpecker CI
- n8n, Node-RED
- Code Server
Each app in the store comes pre-configured with sensible defaults. You can customize environment variables, volume mounts, and port mappings before installing, or edit them afterward through the app settings.
Like what you're reading? Subscribe to Self-Hosted Weekly — free weekly guides in your inbox.
Installing Apps
The installation flow is straightforward:
- Click the App Store icon on the dashboard
- Browse or search for an app
- Click "Install" — review settings if needed
- The app appears on your dashboard when running
Apps appear as tiles on the home screen with status indicators. Clicking a tile opens the app's web interface in a new tab.
Custom Apps
CasaOS isn't limited to its app store. You can:
- Import docker-compose files: Paste a compose YAML and it deploys the stack
- Create from Docker image: Specify any Docker image and configure it visually
- One-click apps from GitHub: Some community apps are distributed as one-click install files
This means any Docker-based self-hosted app can run on CasaOS, even if it's not in the official app store.
Storage Management
CasaOS provides a storage page for configuring drives. You can:
- View disk usage per drive
- Mount external USB drives
- Set storage paths for apps
For a home server with multiple drives, you'll typically mount drives and configure apps to use specific paths. CasaOS doesn't manage RAID or ZFS itself — that's configured at the OS level — but it maps the resulting mount points into app containers.
Networking
By default, CasaOS runs on port 80 (HTTP). For HTTPS and custom domains, you'll need to configure a reverse proxy separately. Popular options:
Nginx Proxy Manager (available in the app store): Install it from CasaOS, then route domains to your other services through its web UI.
Cloudflare Tunnel: If you don't have a static IP or want to avoid port forwarding, run cloudflared and configure tunnels to your services.
CasaOS doesn't include built-in Let's Encrypt or custom domain management — this is intentional simplicity. Add Nginx Proxy Manager when you need it.
CasaOS vs. Alternatives
| Feature | CasaOS | Umbrel | YunoHost | Portainer |
|---|---|---|---|---|
| App store | ✓ | ✓ (focused on apps) | ✓ | Limited |
| Custom Docker | ✓ | Limited | Limited | ✓ |
| Target audience | Home users | Casual users | Advanced users | Developers |
| Resource use | Low | Low | Moderate | Low |
| File manager | ✓ | No | ✓ | No |
| Network management | Basic | Basic | Extensive | No |
| Update management | App-level | App-level | System-level | Manual |
CasaOS vs. Umbrel: Umbrel focuses on specific app categories (Bitcoin, productivity, media) with a more curated store. CasaOS has a broader selection and more Docker flexibility. Umbrel has a more polished UI.
CasaOS vs. YunoHost: YunoHost is more comprehensive — full email server, LDAP, domain management — but requires more technical knowledge. CasaOS is simpler and Docker-native.
CasaOS vs. Portainer: Portainer is a Docker management tool aimed at developers. CasaOS is a home server platform that happens to use Docker. If you want granular container control, use Portainer. If you want easy app installs, use CasaOS.
Multi-User Support
CasaOS supports multiple user accounts. The admin account has full access; regular users can access specific apps without seeing system settings or other users' data.
For a household where multiple people want access to different services (one person manages media, another uses file sharing), this works reasonably well. App permissions are set per-user by the admin.
Limitations
Single-node: CasaOS is designed for single-machine setups. It doesn't support clustering or distributed deployments.
No built-in reverse proxy with SSL: You need to install and configure a separate reverse proxy for HTTPS and custom domains.
App store curation: The store has ~100 apps. For less common tools, you'll use the custom Docker install flow.
Storage management: No built-in RAID, ZFS, or advanced storage management — you configure that at the OS level separately.
Getting Started
- Install Ubuntu 22.04 or Raspberry Pi OS on your server hardware
- Run the CasaOS installer
- Access the dashboard at
http://your-server-ip - Install apps from the store
- Set up Nginx Proxy Manager if you need HTTPS or custom domains
CasaOS is a good choice if you want a graphical home server experience without learning docker-compose syntax, or if you're setting up a home server that others in your household will also use.
The project is developed by IceWhale Technology and is open source at IceWhaleTech/CasaOS. The community forum is active for support and app requests.
