Skip to main content

Configure Services

UHS offers a large suite of services which are disabled by default. Via a helm values.yaml file, you can enable and customize the services you want to use.

See the Services section for more information on each service.

UHS CLI

The uhs CLI can help you generate configuration files for UltimateHomeServer.

Install

Binary

Utilize the install script to download the latest release for your platform.

wget https://raw.githubusercontent.com/TechSquidTV/uhs-cli/main/install.sh
chmod +x install.sh
./install.sh

Go

Alternatively, if your system has Go installed, you can install the CLI via the following command.

go install github.com/uhs-cli/uhs@latest

Usage

asciicast

UltimateHomeServer is distributed as helm charts which can be customized via a values.yaml file. The uhs CLI can help you generate this file.

Generate Default Config

First generate the default configuration file. This file will serve as a template for all of the available services. We will next override this file with our own customizations.

uhs default -o values.yaml

Customize Services

To enable and customize the desired services, begin the configuration wizard by running the following command.

uhs configure -o secrets.yaml

This command will begin by prompting you to select the services you wish to enable. If you wish, you can also pass services as arguments to the command.

uhs configure nginx plex radarr sonarr -o secrets.yaml

These files will be placed in the same directory as the UltimateHomeServer repository at the root level, next to the Chart.yaml file.

Recommended/Required Services

nginx - Required for all other services to function properly. It is used as a reverse proxy to route traffic to the appropriate service. homepage - Recommended as it provides a landing page for all of your services. plex - Recommended as the default media server.

Prep the system

Once you have created your configuration files you will have multiple services similar to:

    kavita:
enabled: false
replicaCount: 1
image:
repository: kizaing/kavita
tag: latest
pullPolicy: Always
ports:
http: 5000
config: /opt/kavita/config
library: /opt/kavita/library

Notice here we reference two paths config and library. These paths need to be created on the host system if they do not already exist and should be writable.

mkdir -p /opt/kavita/config /opt/kavita/library
chmod -R 666 /opt/kavita/config /opt/kavita/library