How to Easily Set Up a Beautiful Home Server with umbrelOS and Docker
Hello everyone, I am Stark-C~
I recently discovered an amazing project called umbrelOS, which is free, open-source, easy to deploy, and user-friendly. It allows us to install over a hundred Docker containers on our own NAS with just one click, and almost all of them are the most common ones. It can be said to be a treasure for many novice players, very impressive!
Without further ado, I can’t wait to share it with everyone!
About umbrelOS
umbrelOS is essentially an operating system, but it is a home server operating system running on physical machines (Linux/Debian hardware or Raspberry Pi, etc.). It also provides a way to deploy it with virtual machines or Docker with one click, meaning that almost all NAS players can easily experience this treasure project.
Highlights of umbrelOS:
-
It provides a web-based dashboard that allows users to easily manage and monitor their devices.
-
Users can explore and install various open-source self-hosted applications, such as Pi-hole, Nextcloud, Matrix, HomeAssistant, Bitcoin/Lightning nodes, etc.
-
The operating system and applications support one-click updates, simplifying the maintenance process.
-
Support for remote access to your Umbrel from anywhere using Tor or Tailscale.
-
Application sandboxing, permissions, and dependency management enhance system security.
-
All applications come with built-in authentication and two-factor authentication (2FA) to improve account security.
-
Can monitor the RAM and storage usage statistics of devices, helping users better manage resources.
Deployment of umbrelOS
Preparation before deployment:
It should be noted that this project involves the deployment and management of Docker containers, so it will require monitoring the Docker daemon on the host machine, just like with Portainer, using the command “/var/run/docker.sock:/var/run/docker.sock“. If you have already deployed Portainer on your own Extreme Space according to my previous tutorial, just follow the steps below.
Since Extreme Space updated and launched the SSH function last time, its playability and functionality have greatly enhanced. I also shared some basic gameplay and precautions with everyone, including the deployment of Portainer:
https://post.smzdm.com/p/aqqz4ldx/
Following the tutorial in the article, deploying Portainer and understanding its basic usage should not be a problem.
I would like to remind the vast majority of ordinary users again: if you are only deploying Docker using commands, just like me, after deploying Portainer, turn off the SSH function of Extreme Space for security reasons and to prevent accidentally deleting system files that could cause system issues. Portainer supports all container commands and visual deployments, even if they are not Compose commands, you can also convert them online through the 【composerize】 official website, which is very convenient!
Additionally, Portainer requires pulling Docker images when deploying containers using commands, so necessary proxies and networks are still indispensable, otherwise it will also fail, but we won’t discuss that here~
Then, create a folder named “umbrel” in the Docker directory of Extreme Space, and under the umbrel folder, create two subfolders called “app-data” and “tor”.
Start Deployment:
After completing the preparation work, open Portainer, select “Stacks — Add Stack”.
The name can be arbitrary; in the web editor, enter the following command (just copy and paste, format is very important):
services:
umbrel:
image: dockurr/umbrel
container_name: Umbrel-OS
ports:
- 80:80 # Project open port, please do not conflict with local before the colon
volumes:
- ./docker/umbrel:/data:rw # Map the actual path of the umbrel folder
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
The above code needs to be modified according to the comments, and if you do not understand the others without comments, please do not change them randomly.
After modifying, click the “Deploy Stack” button at the bottom of the page.
The project is not large, and the deployment speed is still very fast, after all, it is only a single container. This is why I suggest that novice users only need one Portainer if they are just playing with Docker; it can handle any type of Docker project, and it does not require enabling SSH, greatly reducing the risk of messing around.
Experience with umbrelOS
To open it, use the usual method: directly in the browser enter [Extreme Space IP: Port Number]. After opening, just click “Start”.
Then, randomly set a username and password for this container.
Next, you will arrive at the main interface of this container. Its interface is very clean and beautiful, and at first glance, it has a bit of a navigation bar feel, and the homepage already has recommended Docker projects for us to install.
Its biggest highlight is the built-in rich and beautifully designed application store, where all are one-click deployed Docker containers, and it even categorizes them for us.
I casually counted, there are over 120 applications, and many are our commonly used projects, such as the ad-blocking AdGuard Home, smart home management system Home Automation, media tool Plex/Jellyfin, etc.
The only slight regret is that there is currently no Chinese language option available.
However, it has built-in dozens of beautiful wallpapers.
Here I demonstrate how to deploy a Docker container using it, for example, the photo management project Immich that I taught everyone to deploy a few days ago, we just need to click “Install” on its page.
Throughout the process, we do not need to do anything manually; it automatically deploys and installs everything, and there is an installation progress bar.
After completion, it will present a corresponding icon on the homepage, and clicking this icon will open it with one click, just like operating a mobile phone or tablet.
Opening it is completely problem-free, it’s just amazing~
At the same time, we can also see the projects that have been installed in the Docker manager of Extreme Space, indicating that it has indeed been installed correctly.
Some Docker containers may have mapped paths that are not what we want, but this is also very simple; we can directly modify it using the Docker manager of Extreme Space (stop the container -> edit).
This project also has a powerful feature that allows us to deploy multiple projects we need simultaneously, isn’t that efficiency top-notch?
There is also a monitoring option that can monitor the RAM and storage usage statistics of devices, and the monitoring page is also beautiful!
Even better, it supports presenting real-time monitoring in the form of components on the main page, which is not only visually appealing but also elevates the experience!
At the same time, we can also stop, restart, or uninstall projects that have been installed; in terms of operational experience, it should still be the only one among all Docker managers. (If there is a second one, I must be ignorant~)
In Conclusion
Overall, this project is worth a try for many new NAS players. It integrates almost all Docker containers that ordinary users may need and achieves one-click installation and management. Even if some containers have mapped paths that are not what we want, we can also easily change them through the NAS’s own Docker manager, which is very convenient!
This year’s Double Eleven has come to a perfect conclusion, and according to official news, Extreme Space has also achieved great success in this year’s Double Eleven promotion, winning multiple championships. If you are planning to purchase a NAS soon, you might want to pay attention to Extreme Space.
Alright, that’s all for today’s sharing. I am Stark-C, who loves sharing. If today’s content has helped you, please remember to bookmark it and follow me. See you next time! Thank you, everyone~