CasaOS is a powerful home server operating system (OS) that provides a simple way to run services on a local network. It’s available for x86 and ARM devices, making it easy to work with even low-power SoCs like the Raspberry Pi. In this article, we show you what makes CasaOS tick, how to install it on a home server, and how to use it to install plenty of self-hosted apps effortlessly.
Content
- Why Use CasaOS As A Home Server OS
- Preparing and Installing CasaOS
- Installing and Running Your First CasaOS App
- Configuring Your Application
- Creating Your Custom Server App
Why Use CasaOS As A Home Server OS
The biggest selling point of CasaOS is it’s an all-in-one package that can install, monitor, and manage server apps. It has a simple dashboard and a rich tapestry of “one-click install” Docker containers through its marketplace.
One unique quirk of CasaOS is it’s an overlay system that runs on top of an existing Debian Linux install. This means you don’t need to redo your current setup just to run a home server OS. Because of that, CasaOS is easy to try out and deploy compared to other home server OSes.
One of my favorite feature is that It allows you to configure and run your own Docker containers. As an avid Docker user, I find this feature incredibly attractive since it enables me to run custom service without relying on the developers to package it for me.
On a side note: still using a regular Linux system as your home server? Learn how you can deploy Docker on your Linux OS today.
Preparing and Installing CasaOS
Assumption: This article assumes that you’re installing CasaOS on a Debian 12 system. That said, the following instructions will also work with the latest version of Raspberry Pi OS and Ubuntu 20.04.
The first step in deploying CasaOS on your local machine is by ensuring that your base system is completely up-to-date:
sudo apt update && sudo apt upgrade
Make sure that you have the curl utility on your base system:
sudo apt install curl
Fetch the Quick Installation script for CasaOS and use a 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 process could take between 5-10 minutes.
Once done, the installation script will print the local IP address of your CasaOS installation. Go to your client computer, then open the address on a web browser window.
Click Go to start the initial setup process.
Provide the username and password that you want for your CasaOS instance.
Click Accept to make sure that you’re up-to-date with the latest news for CasaOS.
Installing and Running Your First CasaOS App
With your new CasaOS instance up and running, you can now begin installing your favorite self-hosted apps. For that, click the App Store icon on the dashboard.
This will bring up a popup window showing the services that CasaOS distributes on its repos. To install an app, click the search box, then provide the name of the service that you want. In my case, I will install Nextcloud on my CasaOS instance.
Click icon of the service, then select Install to start the installation process.
Once done, confirm that your new service is properly running by clicking its icon on the CasaOS dashboard.
Configuring Your Application
On top of being easy to install and run, CasaOS provides a way to quickly access the internals of a server container. This makes it incredibly simple to customize your apps according to your needs.
To configure an existing server app, go to your CasaOS’ dashboard and look for the server app’s icon.
Hover your mouse cursor on the icon, then click the three-dots on the icon’s upper right corner.
Select Settings on the context menu. This will bring up a small popup window showing the details of your app’s Docker container.
In here, you can change almost every aspect of your server’s app config. For instance, you can tweak the amount of memory that the container can use through a simple slider option.
Once you’re done with your changes, click the “Save” button to apply it on your server app.
Good to know: learn how you can move an existing Docker container between different hosts.
Creating Your Custom Server App
Aside from running and configuring prebuilt server apps, the CasaOS dashboard can also deploy your own custom Docker containers. This is useful if you have a Docker service that’s currently unavailable on the CasaOS app store.
Go to your CasaOS dashboard, then click the + icon beside the App header.
Select Install a customized app on the popup menu. Doing this open a blank app details window for your new Docker container.
Click the Import button on the window’s upper right corner.
Paste the contents of your service’s “docker-compose.yml” inside the text box. In my case, I want to run a Webcord instance on my CasaOS box.
Click Submit to convert your compose config to a CasaOS app format.
Scroll down the app config window, then make sure that the exposed host ports don’t conflict with anything on your CasaOS instance. For me, I will set my Webcord instance’s port to “9095” and “9096” since I know that these don’t conflict with any running service.
Scroll up the app config window, provide a name for your new custom app, then set the Web UI port to one of your exposed container ports.
Click Install to start the import process.
Once done, confirm that your custom server app is working properly by clicking its icon on your CasaOS dashboard.
Learning how to install CasaOS as well as deploy local server apps are just some of what’s possible with a home server OS.
Image credit: Onur Binay via Unsplash. All alterations and screenshots by Ramces Red.
Ramces Red –
Staff Writer
Ramces is a technology writer that lived with computers all his life. A prolific reader and a student of Anthropology, he is an eccentric character that writes articles about Linux and anything *nix.
Subscribe to our newsletter!
Our latest tutorials delivered straight to your inbox
Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time. Subscribe