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
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