Periphery setup script
usage: setup-periphery [-h] [--version VERSION] [--user] [--root-directory ROOT_DIRECTORY] [--core-address CORE_ADDRESS]
[--connect-as CONNECT_AS] [--onboarding-key ONBOARDING_KEY] [--force-service-file FORCE_SERVICE_FILE]
[--config-url CONFIG_URL] [--binary-url BINARY_URL]
Install systemd-managed Komodo Periphery
options:
-h, --help show this help message and exit
--version, -v VERSION
Install a specific Komodo version, like 'v2.0.0' (default: latest)
--user, -u Install systemd '--user' service (default: False)
--root-directory, -r ROOT_DIRECTORY
Specify a specific Periphery root directory. (default: /etc/komodo)
--core-address, -c CORE_ADDRESS
Specify the Komodo Core address for outbound connection. Leave blank to enable inbound connection server. (default: None)
--connect-as, -n CONNECT_AS
Specify the Server name to connect as. Defaults to hostname. (default: hostname)
--onboarding-key, -k ONBOARDING_KEY
Give an onboarding key for automatic Server onboarding into Komodo Core. (default: None)
--force-service-file FORCE_SERVICE_FILE
Recreate the systemd service file even if it already exists. (default: None)
--config-url CONFIG_URL
Use a custom config url. (default:
https://raw.githubusercontent.com/moghtech/komodo/refs/heads/main/config/periphery.config.toml)
--binary-url BINARY_URL
Use alternate binary source (default: https://github.com/moghtech/komodo/releases/download)
These scripts will set up Komodo Periphery on your hosts, managed by systemd.
Note. This script can be run multiple times without issue, and it won't change existing config after the first run. Just run it again after a Komodo version release, and it will update the periphery version.
Note. The script can usually detect aarch64 system and use the periphery-aarch64 binary.
There's two ways to install periphery: System and User
System (requires root)
Note. Run this after switching to root user (eg sudo su -).
curl -sSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery.py \
| python3 - --core-address <YOUR-CORE-ADDRESS> \
--onboarding-key <YOUR-ONBOARDING-KEY>
Will install to paths:
- periphery (binary) ->
/usr/local/bin/periphery - periphery.service ->
/etc/systemd/system/periphery.service - periphery.config.toml ->
/etc/komodo/periphery.config.toml
User
Note. The user running periphery must be a member of the docker group, in order to use the docker cli without sudo.
curl -sSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery.py \
| python3 - --user --core-address <YOUR-CORE-ADDRESS> \
--onboarding-key <YOUR-ONBOARDING-KEY>
Will install to paths:
- periphery (binary) ->
$HOME/.local/bin - periphery.service ->
$HOME/.config/systemd/user/periphery.service - periphery.config.toml ->
$HOME/.config/komodo/periphery.config.toml
Note. Ensure the user running periphery has write permissions to the configured root_directory.
Note. To ensure periphery stays running when your user logs out, use this:
sudo loginctl enable-linger $USER
For additional information on configuring the systemd service, see the systemd service file documentation here: https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html.
Force Service File Recreation
Usually the installer will only create the systemd service files (periphery.service) if one doesn't already exist.
This means the user is free to customize it to fit their needs, such as changing the User= running the binary.
You can change this behavior by passing --force-service-file, which will restore the service file
to the current default.
Example:
curl -sSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery.py \
| python3 - --core-address <YOUR-CORE-ADDRESS> \
--onboarding-key <YOUR-ONBOARDING-KEY> \
--force-service-file