How to set up and remotely access a CasaOS server
Learn how to set up a personal Linux server with CasaOS and remotely access it over Meshnet.
Introduction
For many individuals, the initial steps of self-hosting and personal server setups can often appear daunting. Beginners frequently seek straightforward solutions that offer guidance without requiring significant commitments.
A tool novices use to familiarize themselves with self-hosting is CasaOS — open-source software designed to convert a Linux machine into a functional personal server. CasaOS offers an intuitive web interface, simplifying the deployment and management of various Docker-based apps. Depending on the apps you decide to host, you may want remote access to the server. This would allow you to access your apps while away from home and perform remote maintenance.
By pairing CasaOS with Meshnet, you can create a private device network that mimics a traditional local area network (LAN) without port forwarding. This functionality enables seamless remote access to your CasaOS server, regardless of your physical location.
To start, check out the video tutorial below for a visual walkthrough:
Alternatively, if you prefer written instruction, this page contains a step-by-step guide on installing CasaOS on a Linux machine and establishing a remote connection using Meshnet.
Installing CasaOS
CasaOS can be installed by using a single-line installation script. The script will check whether your system is compatible with CasaOS and then start downloading and installing all required software. To begin the installation:
Open Terminal.
Run the following command to execute the CasaOS installation script:
You can monitor the installation progress in the terminal window. Once the installation is complete, you will see the address for accessing your CasaOS dashboard.
Access the CasaOS web interface
To use your CasaOS instance, navigate to its web interface and create an account.
Open your internet browser.
In the URL bar, enter the address shown after completing the CasaOS installation and press Enter. Example
http://192.168.202.83
On the CasaOS welcome screen, select Go.
Type in your preferred username and password.
Click Create.
The page should now reload and showcase your CasaOS dashboard.
Note
If you forget your username or password, you can reset the credentials by following the instructions on the CasaOS documentation page.
Installing apps
To streamline the process of installing apps on your home server, CasaOS has a dedicated App Store. In the store, you can choose from a wide range of popular apps, such as Jellyfin, Pi-hole, Home Assistant, and many others. Alternatively, if you cannot find a wanted service in the store, you can manually configure and launch it using Docker.
Method 1: From the App Store
This section will use AdGuard Home as an example. However, the process for installing other apps is nearly identical.
Open your CasaOS web interface.
Under App, select App Store.
Locate the app you want to install.
Click the Install button if you wish to install it using the default configuration.
Otherwise, if you want to review the settings or make some adjustments before installing:
Select the app in the App Store.
Hover over the dropdown arrow next to the Install button and click Custom install.
Check and adjust the available values to your preference.
Click Install.
Close the installation dialog by clicking the Continue in background button.
Once the software is installed, you will see it under the App section of the dashboard. Click it to navigate to the app’s web interface.
Method 2: Manual setup
CasaOS provides a graphical user interface (GUI) solution for manually deploying Docker containers. It provides you with all of the relevant fields where you need to enter the data for the app you want to install. To install an app manually:
Open your CasaOS web interface.
Under App, select App Store.
In the upper-right corner, click Custom install.
Fill in the Manual app install dialog with the data for your Docker container. The image below is an example of the Kavita e-book server’s Docker configuration.
Click Install.
Once the software is installed, you will see it under the App section of the dashboard. Click it to navigate to the app’s web interface.
Setting up Meshnet
After you’ve installed the apps you want to have on your server, you can proceed with setting up Meshnet to remotely access the server.
Install NordVPN
Take the following steps to set up NordVPN on your CasaOS server:
Open your CasaOS web interface.
In the upper-left corner, select Terminal and logs.
Under Terminal, enter the username and password of your Linux user account (not the CasaOS web account) and click Connect.
Download and install the NordVPN Linux client by running this command:
Log in to your NordVPN account.
Log in to NordVPN
You can log in to your NordVPN account without the use of a graphical user interface (GUI) in two ways:
By running the
nordvpn login
command with the--token
flagBy running the
nordvpn login
command with the--callback
flag
Instructions for both methods are outlined below.
Tip
To preserve your token when logging out of the NordVPN app, use the nordvpn logout --persist-token
command. Otherwise, your token will be revoked.
Note
If you encounter the error message “Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sock,” enter sudo usermod -aG nordvpn $USER
. Then, reboot your server and log back in.
Enable Meshnet
Upon logging in, enable Meshnet with this command:
To view the Nord name and Meshnet IP address of your device, enter the following command:
Tip
For more convenient device access, you can rename this device and use its nickname instead of the default Nord name.
Accessing CasaOS over Meshnet
Once Meshnet is set up, you can start accessing and using your CasaOS instance, and the apps hosted on it, from remote devices with the help of Meshnet. To remotely access CasaOS:
Copy the Nord name of your CasaOS server device from the NordVPN app.
Open your internet browser.
In the URL field, paste the copied Nord name followed by
:81/
and press Enter. Examplesecret.meerkat-atlas.nord:81/
Enter the login credentials for your CasaOS account and click Log in.
To access any of your hosted apps, simply click its card under the App section. The app’s web interface will open in a new browser tab.
Tip
To directly access a specific app, replace the :81/
part of the URL in step 3 with the corresponding port number of the app you want to reach.
Example
secret.meerkat-atlas.nord:8096/
Optional: Configuring folder sharing
The Files app of CasaOS provides a simple interface for configuring and accessing Samba network shares. This allows you to make a folder accessible over the network or connect to a folder shared by another device.
Share a folder
To start sharing a folder:
Open your CasaOS web interface.
Under App, select Files.
Navigate to the folder you want to share.
Hover over the folder, select the three-dot menu, and click Share.
Note the path to the shared folder and close the dialog by clicking Got it.
Now, your Meshnet peer devices can access the shared folder using the previously presented path. However, the local IP address must be replaced by the CasaOS server’s Nord name or Meshnet IP address.
Example
\\secret.meerkat-atlas.nord\Videos
For detailed instructions on accessing shared folders from different platforms, consult the following pages:
Connect to a shared folder
To access a folder shared by another Meshnet peer device:
Open your CasaOS web interface.
Under App, select Files.
On the left, next to Location, click the add (+) button and select Connect to network storage.
In the Server address field, enter
smb://
followed by the Nord name of the Meshnet peer that has shared the folder. Examplesmb://secret.meerkat-himalayas.nord
Turn off the Connect as guest toggle and enter the authentication details for accessing the shared folder.
Click Connect.
The Files app should now display all shared folders of the Meshnet peer device you specified. In addition, the network share will be available under the Location section on the left.
Last updated