Tipi home server manager

Control Center

© Photo by LinkedIn Sales Navigator on Unsplash

© Photo by LinkedIn Sales Navigator on Unsplash

Article from Issue 274/2023
Author(s):

Tipi gives you complete control of more than 100 applications and services. A mouse click is all it takes to install the apps.

To keep your data under your control, instead of outsourcing to unknown servers, the typical approach is to simply host the services yourself. It is becoming increasingly easy for less technically inclined users to operate a small home server. Not least, the Raspberry Pi has contributed significantly to this by encouraging many users to experiment. The choice of suitable hardware is naturally far greater: from devices such as laptops or PCs that have already been replaced by newer gear to virtual machines to rented VPS servers on the Internet.

To save you from having to package and configure every service as a container yourself, the number of home server managers have increased recently. Examples include DietPi, YunoHost, Mistborn, or NethServer. The summer of 2022 saw the release of another alternative in the form of Tipi [1] by Swiss developer Nicolas Meienberger [2].

Management Interface

Tipi is essentially a management interface for the applications and services that you want to run on your home server, without requiring in-depth expertise of the setup and management tasks for the home server operating system. Tipi currently offers more than 100 apps for installation in a click-and-forget process [3]. You don't have to worry about setting up the network or configuring the apps initially and can instead adjust the settings of each app later.

Tipi sets up four containers (Figure 1): The apps all end up in their own Docker containers. (You can try out a demo [4] on the Tipi GitHub page.)

Figure 1: At the end of a short installation process, Tipi sets up the four required containers.

Before installing, you need to decide whether you want to limit the scope of applications and services to your home network or if you additionally want access from the outside. If you want outside access, you need to share both port 80 and port 443 for the corresponding device using port forwarding on your router. Instructions for port forwarding for all popular routers can be found online [5].

Installation

Installing the tool is very simple. As the basis, Meienberger recommends a recent Ubuntu, starting with version 18.04 and preferably the server variant, but other distributions should work just as well. Beyond that, you simply need to download and run an installation script. After a few moments, you will see a URL for the user interface (Figure 2). If you already have Docker and Docker Compose installed, the script will use your defaults. Otherwise, both applications are retrieved during the Tipi install. Tipi runs on port 80 by default.

Figure 2: Tipi reveals the URL where you can access the user interface.

If you want to choose a different port, run the start-up script with the additional --port argument. You can download and run the script simultaneously with a single command:

curl -L https://setup.runtipi.com | bash

If you want to change the port, the first step is to get the script:

clone https://github.com/meienberger/runtipi.git

Then start it manually by typing something like

sudo ./scripts/start.sh --port 8001

(or some other unused port) in the runtipi directory. You will then also need to share this port on your router via port forwarding. To learn how to bind your domain to the Tipi Dashboard before the install, see the "Adding a Domain for the Tipi Dashboard" box.

Adding a Domain for the Tipi Dashboard

First, download the installation script:

git clone https://github.com/meienberger/runtipi.git

Then create a configuration file

sudo nano /runtipi/state/  settings.json

and add the following lines:

{
"domain": "yourdomain.com"
}

Of course, you need your own domain in the final quotes instead of the placeholder. To create a valid JSON file, the text line must be exactly one tab stop away from the margin. Finally, save the file, in nano, for example, by pressing Ctrl+O, and close the configuration file by pressing Ctrl+X.

Next, working in the runtipi directory, type

sudo ./scripts/start.sh

to start the installation.

Before you start installing, make sure your distribution already has the cURL package in place. This is not the case with, say, Ubuntu. I used an LXC container in Proxmox with the server version of Ubuntu 22.04 for testing. During the installation, which takes about two minutes, Tipi creates four containers for the Tipi database, Redis, the reverse proxy for SSL encryption, and the Tipi Dashboard. When done, you will see a URL and, after registering, you will be taken to the Tipi user interface.

Web Interface

Dashboard is the first tab: It tells you about the available space on the hard disk, the CPU load, and the amount of RAM used (Figure 3). The second tab My Apps is still empty at this point and points you to the third tab, the App Store. The fourth and last tab, Settings, is divided into Actions for updating and restarting and the actual Settings (Figure 4). Source code on the right takes you to the project's GitHub page, while Sponsors gives you the ability to support the project financially. The half moon next to Sponsors lets you toggle to Dark Mode, and you can log out with the icon on the far right.

Figure 3: After logging in to the interface, you will see the Dashboard with indicators for the storage utilization level, the CPU load, and the RAM usage.
Figure 4: The most important settings for Domain, DNS, IP, and Repository are grouped in Settings. This is also where you can assign a different storage path for apps and any data generated by them.

The first thing you need to do is visit the App Store to add some applications and services. Tipi lists the apps with their icons, a short description, and a category. Above the list there is a search mask, along with a drop-down Category list to filter the apps shown into one of 14 categories.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • WireGuard Easy

    WireGuard is a less complex VPN solution compared to OpenVPN and IPsec. WireGuard Easy simplifies the process even further by allowing you to operate a VPN and manage clients through a user-friendly web interface.

  • Configuring a Virtual Web Server

    A virtual server with a dynamic DNS service might just be the easiest way for a home user to implement an Internet website.

  • Local DNS with Unbound

    You don't have to be satisfied with your ISP's slow and cumbersome DNS server. Your own Unbound server could improve performance as well as security.

  • Raspberry Pi Pet Camera

    A Raspberry Pi, a Pi-compatible camera, and a mesh VPN are all you need to watch your pets from afar.

  • Privacy Appliances

    A Raspberry Pi with the right software filters out annoying ads and nasty trackers for end devices on your local network.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News