Tech Digest

Platforms

CasaOS

Friendly app-store dashboard bolted onto an existing Linux install, now in maintenance mode

PlatformsApache-2.0Slowedarm64 builds
Last reviewed Profile maintained against the project's own documentation
Operational load
2 / 5
Light
Idle memory
300 MB
typical use ~900 MB
Moving parts
n/a
not container shaped
Backup shape
SQLite backup
needs a dump or a stop

CasaOS installs onto a running Debian, Ubuntu or Raspberry Pi OS system and adds a home-cloud dashboard: an app store of preconfigured Docker containers, a file manager and basic disk management. IceWhale, its maintainer, has moved development to its ZimaOS product.

Our verdict on CasaOS#

Be clear about who CasaOS is for: someone with a spare mini PC or a Raspberry Pi who wants Jellyfin and Nextcloud running tonight and has never written a compose file. For that person it works, and the app store genuinely removes the first hard step. Everything after that is the problem. The last stable release is v0.4.15, dated 19 December 2024, with only an alpha since; IceWhale's own site now says the project has been upgraded to ZimaOS, and maintainers describe CasaOS as being in a maintenance phase while they work on ZimaOS, which is the OS for their ZimaBoard and ZimaCube hardware. The install script still pulls alpha builds for the gateway, message bus and app management components. When Docker Engine 29.0 raised the minimum API version, CasaOS app management broke for a lot of users because it speaks API 1.43. Use it to learn, then move to plain compose.

Who CasaOS is for#

Choose it if

  • A first-time self-hoster who wants a dashboard and an app store rather than a terminal, on hardware they already own
  • Someone with a ZimaBoard or similar low-power x86 board who wants the vendor's intended experience
  • A short-term evaluation host where you want five services running in an hour and do not care about the next two years

Look elsewhere if

  • You want a project that is actively developed, because the last stable release predates this entry by over 20 months
  • You are already comfortable with docker compose, in which case CasaOS is a layer between you and the thing you understand
  • You need real multi-user access control or SSO, neither of which exists

What running it actually looks like#

curl -fsSL https://get.casaos.io | sudo bash on Debian 12, Ubuntu Server or Raspberry Pi OS. It installs Docker if absent, then a set of systemd services: gateway, message bus, user service, local storage, app management and the main CasaOS binary, with the web gateway bound to port 80. If 80 is occupied the installer scans upward for a free port and writes it into /etc/casaos/gateway.ini, which is why some installs answer on an unexpected port. It creates /DATA on the root filesystem for app volumes and files. Nothing is containerized except the apps you install. Uninstall is casaos-uninstall. There is no upgrade path worth planning around, because there has been nothing to upgrade to since December 2024.

Resource profile#

Memory
300 MB idle, around 900 MB in ordinary use. The CasaOS services themselves are small Go binaries; the number moves entirely with which app-store containers you install on top.
CPU and acceleration
The dashboard is idle, but the file manager's thumbnail generation and any media app you install from the store are what actually load a low-power board.
Storage growth
CasaOS itself is under 200 MB; the `/DATA` directory it creates is where app volumes and your files land, and it is on the root filesystem unless you point it elsewhere.
Operational load
2 of 5, Light. Nothing to tune day to day, but development has effectively stopped, so the attention cost is watching for the environment to break underneath it, as Docker 29 did. That is a light but non-zero level 2.

Figures describe a small single-household install and are the working assumptions behind our stack planner. Your numbers will differ with library size, user count and hardware. See methodology.

Data and backup surface#

/etc/casaos holds the gateway port, app-management config and the app store source list. /var/lib/casaos holds the SQLite databases with your user, installed app records and file index. /DATA is where the app store points container volumes and where the file manager stores uploads, and it is the large one. Back up all three, plus a docker compose config dump or the container definitions for anything you installed, because the CasaOS app records alone will not reconstruct a container on a different system. Nothing here needs a database dump; SQLite files copy safely with the services stopped. Container images are regenerable.

Derived backup shape

SQLite backup. sqlite3 <db> ".backup out.db" while running, or stop the container and copy. A live cp of a WAL-mode SQLite file can restore corrupt.

Traps and surprises#

Docker 29 breaks the app store

The bundled casaos-app-management binary is built against Docker API 1.43, and Docker Engine 29.0.0 raised the daemon's minimum to 1.44. The symptom is CasaOS loading fine while the Apps page shows only "Failed to load apps, please refresh later". Docker 29.3.0 lowered the floor back to 1.40, so upgrading Docker past 29.2 is the real fix rather than pinning Docker to an old version indefinitely.

The installer pulls alpha components

Read the install script and you will see it fetch gateway v0.4.9-alpha4, message-bus v0.4.4-3-alpha2, app-management v0.4.10-alpha2 and cli v0.4.4-3-alpha1 alongside the stable v0.4.15 core. That is not a mistake in your setup; it is what the current script does. If something behaves oddly, you are running prerelease code by default, and there is no stable channel to fall back to.

Development moved to ZimaOS

IceWhale's own CasaOS site states the project has been upgraded to ZimaOS, and maintainers have said CasaOS is in a maintenance phase because the team is working on ZimaOS. ZimaOS is a full NAS operating system aimed at ZimaBoard and ZimaCube hardware, not a package you add to an existing Debian install. Migrating means reinstalling the OS, so factor that in before you build a household around CasaOS.

It hides the compose files you will eventually need

Apps installed from the store are ordinary Docker containers, but their definitions live in CasaOS's own database rather than as compose files you can read, version or move. When you outgrow the dashboard, or when it stops working, you have to reconstruct each service by inspecting the running containers. Export docker inspect output for anything you care about while the system still works.

Specifications#

Category
Platforms and container management
Licence
Apache-2.0 (Permissive)
Written in
Go
First release
2021
Maturity
Slowed
Datastore
SQLite files and INI config under /var/lib/casaos and /etc/casaos
Default ports
80
Ships as
one-line install script onto an existing Linux host, preinstalled on ZimaBoard and ZimaCube hardware
arm64 builds
Yes
Identity
Local accounts only. A single local account created at first boot, no LDAP, no OIDC, and no meaningful multi-user model.
Replaces
Synology DSM, Google Drive, Dropbox
Project site
casaos.zimaspace.com
Source
github.com/IceWhaleTech/CasaOS
Documentation
wiki.casaos.io/en/home

Alternatives to CasaOS#

Everything else in platforms and container management, closest in operational weight first.

ToolOps loadIdle RAMLicence
Docker Engine2, Light120 MBApache-2.0 (Engine and Compose); Docker Desktop is proprietary
Podman2, Light40 MBApache-2.0
Unraid2, Light2048 MBProprietary, perpetual per-device licence
Coolify3, Moderate1200 MBApache-2.0
Dokploy3, Moderate900 MBApache-2.0, with DSAL 1.0 reserved for a /proprietary path
Komodo3, Moderate250 MBGPL-3.0

Sources#

Facts on this page were checked against the project's own material. Where a number is our own estimate rather than a published figure, the text says so.

  1. Official CasaOS site stating the move to ZimaOS
  2. Maintainer discussion on maintenance status
  3. Release history, latest stable v0.4.15
  4. Docker API incompatibility bug report
  5. Install script

Published . Last reviewed . Found something out of date? Tell us and we will fix it and log the change.