---
title: Update Komodo Hosts
description: Steps followed to update the Periphery Agents on Komodo managed hosts.
hero:
  tagline: Steps followed to update the Periphery Agents on Komodo managed hosts.
  image:
    file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/komodo.webp
---

import { Aside } from '@astrojs/starlight/components';
import { Steps } from '@astrojs/starlight/components';

<Aside type="tip">Find the latest documentation from Komodo [here](https://komo.do/docs/intro).</Aside>
<Aside type="tip">Find the local Application documentation [here](https://docs.alexlebens.dev/applications/komodo/).</Aside>

# Systemd hosts

These hosts are on the same network as Komodo and have direct access. For simplicity, they run as a [systemd](https://systemd.io/) service.

SSH to the host and run the following command. This command is repeatable and non-destructive and will update to the latest version.
````bash
curl -sSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery.py | python3 - \
  --core-address="https://komodo.alexlebens.net"
````

# Docker hosts

These hosts are not on the network and need some kind of VPN connection, such as [Tailscale](https://tailscale.com/). Because of this requirement it becomes simpler to use containers and [Docker networks](https://docs.docker.com/engine/network/).

The hosts should have their [compose](https://docs.docker.com/compose/) files defined in the [infrastructure repository](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/hosts). Therefore, [Renovate](https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=renovate.yaml&actor=0&status=0) will make updates to those files.

<Steps>
1. SSH to the host and switch user to root.
    ````bash
    ssh <hostname>
    ````
    
2. Change directory to where the local git folder is. This can vary per host, but the default should be in the /opt/compose folder.
    ````bash
    cd /opt/compose/infrastructure
    ````

3. Pull the latest changes.
    ````bash
    git pull
    ````

4. Change directory to the host and Komodo app.
    ````bash
    cd /opt/compose/infrastructure/hosts/<host>/komodo-periphery
    ````

5. Bring down the current stack.
    ````bash
    docker compose down
    ````

5. Bring down the stack back up. This should pull the latest image.
    ````bash
    docker compose up -d
    ````

6. Verify updates on the Komodo servers page.
    ````
    [https://komodo.alexlebens.net/servers](https://komodo.alexlebens.net/servers)
    ````
</Steps>

