CasaOS is a powerful home server operating system (OS) that provides a simple way to run services on a local network. It is available for x86 and ARM devices, making it easy to work with even low-power SoCs like the Raspberry Pi. This article will show you what makes CasaOS work, how to install it on a home server, and how to use it to install multiple self-hosted applications with ease.
Why should you use CasaOS as your home server operating system?
The biggest advantage of CasaOS is that it is an all-in-one package that can install, monitor, and manage server applications. It has a simple dashboard and a rich collection of “one-click install” Docker containers through its marketplace.

A unique feature of CasaOS is that it is an overlay system that runs on top of an existing Debian Linux installation. This means you don't need to redo your existing setup just to run your home server operating system. As a result, CasaOS is easy to try and deploy compared to other home server operating systems.
One of the favorite features of CasaOS is that it allows you to configure and run your own Docker containers. If you are an avid Docker user, this feature is extremely attractive because it allows you to run custom services without having to rely on package developers for you.

Prepare and install CasaOS
Assumption: This article assumes that you are installing CasaOS on a Debian 12 system. However, the following instructions will also work with the latest version of Raspberry Pi OS and Ubuntu 20.04.
The first step in deploying CasaOS locally is to ensure that your base system is completely up to date:
sudo apt update && sudo apt upgrade
Make sure you have the curl utility on your base system:
sudo apt install curl
Find the Quick Installation script for CasaOS and use the UNIX pipe to run it on your system:
curl -fsSL https://get.casaos.io | sudo bash
Doing this will automatically download and configure CasaOS for your system. Depending on your hardware, this may take 5 – 10 minutes.

Once completed, the installation script will print the local IP address of the CasaOS installation. Go to the client computer, then open the address in a web browser window.

Click Go to begin the initial setup process.
Provide the username and password you want for your CasaOS instance.

Click Accept to make sure you're up to date with the latest CasaOS news.
Install and run the first CasaOS application
With the new version of CasaOS live, you can now start installing your favorite self-hosted applications. To do so, click the App Store icon on the dashboard.

This will open a pop-up window displaying the services that CasaOS distributes on its repository. To install the app, click the search box, then provide the name of the service you want. For example, we will install Nextcloud on our CasaOS version.
Click the service's icon, then select Install to start the installation process.

Once complete, confirm that your new service is running properly by clicking its icon on the CasaOS dashboard.

Application configuration
In addition to being easy to install and run, CasaOS also provides a way to quickly access the internal contents of the server container. This makes it extremely simple for you to customize the app to your needs.
To configure an existing server application, go to the CasaOS control panel and find the server application icon.
Hover your mouse pointer over the icon, then click the three dots in the upper right corner of the icon.

Select Settings on the context menu. This will open a small pop-up window showing detailed information about the application's Docker container.

Here, you can change almost every aspect of the server application configuration. For example, adjust the amount of memory the container can use via a simple slider option.

After completing the changes, click the button Save to apply to server applications.
Create custom server applications
In addition to running and configuring pre-built server applications, the CasaOS console can also deploy your own custom Docker containers. This is useful if you have a Docker service that is currently unavailable on the CasaOS app store.
Go to your CasaOS dashboard, then click the icon + next to the title App.

Select Install a customized app on the pop-up menu. Doing this will open a blank application details window for your new Docker container.
Click the button Import in the upper right corner of the window.

Paste the service's “docker-compose.yml” content into the text box. For example, I want to run a Webcord version on CasaOS box.

Click Submit to convert the editor configuration to the CasaOS application format.
Scroll down to the application configuration window, then make sure that the server ports displayed don't conflict with anything on your CasaOS instance. The example would set the Webcord instance's port to “9095” and “9096” because these ports do not conflict with any running services.

Scroll up to the application configuration window, provide a name for your new custom application, then set the Web UI port to one of your exposed container ports.

Click Install to start the import process.
Once completed, confirm that your custom server application is working properly by clicking the application's icon on the CasaOS dashboard.

Learning how to install CasaOS as well as deploying server applications locally are just some of the possibilities that are possible with a home server operating system.