Installation

Install Lookout on a Linux server in under a minute.

Requirements

  • Linux (x86_64 or arm64)
  • systemd
  • curl
  • Root / sudo access

Lookout does not require Go, Docker, or any runtime — the release artifact is a self-contained static binary.

One-line installer

The recommended way to install Lookout is the official install script. It downloads the correct binary for your architecture, verifies its checksum, creates an unprivileged system user, writes a config template, and registers a systemd service.

curl -fsSL https://raw.githubusercontent.com/AmoabaKelvin/lookout/main/install.sh | sudo sh

To pin a specific version:

curl -fsSL https://raw.githubusercontent.com/AmoabaKelvin/lookout/main/install.sh | sudo VERSION=v1.0.0 sh

After the script finishes, Lookout is already running. Alerts print to the systemd journal until you configure a notifier. Re-running the installer upgrades the binary and keeps your existing config.

What the installer does

  1. Detects your CPU architecture (amd64 or arm64).
  2. Resolves the latest release tag from GitHub (or uses VERSION if set).
  3. Downloads the binary and verifies its SHA-256 checksum.
  4. Installs the binary to /usr/local/bin/lookout.
  5. Creates a locked-down system user lookout (no home directory, no login shell).
  6. Writes a config template to /etc/lookout/config.yamlonly on first install; re-running never overwrites an existing config.
  7. Installs and starts the systemd unit lookout.service, which runs lookout --config /etc/lookout/config.yaml and keeps state under /var/lib/lookout.

Next steps

# 1. Open the config and add the checks and notifiers you want
sudo nano /etc/lookout/config.yaml

# 2. Restart to apply the new config
sudo systemctl restart lookout

# 3. Stream the logs to confirm it's running
journalctl -u lookout -f

See Configuration for every option and Notifications to route alerts off the box.

Manual installation

If you prefer not to pipe a script to sudo sh:

# 1. Download the binary for your architecture
curl -fsSL https://github.com/AmoabaKelvin/lookout/releases/latest/download/lookout-linux-amd64 \
  -o /usr/local/bin/lookout
chmod +x /usr/local/bin/lookout

# 2. Create the service user
useradd --system --no-create-home --shell /usr/sbin/nologin lookout

# 3. Create the config (see Configuration for the full file)
mkdir -p /etc/lookout
# write /etc/lookout/config.yaml, then lock it down:
chmod 600 /etc/lookout/config.yaml
chown lookout:lookout /etc/lookout/config.yaml

# 4. Create the systemd unit
cat > /etc/systemd/system/lookout.service <<EOF
[Unit]
Description=Lookout monitoring agent
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=lookout
Group=lookout
ExecStart=/usr/local/bin/lookout --config /etc/lookout/config.yaml
Restart=always
RestartSec=5
StateDirectory=lookout
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

# 5. Enable and start
systemctl daemon-reload
systemctl enable --now lookout

Uninstalling

Remove the service and binary, but keep the config and service user:

curl -fsSL https://raw.githubusercontent.com/AmoabaKelvin/lookout/main/uninstall.sh | sudo sh

Remove everything, including the config directory and service user:

curl -fsSL https://raw.githubusercontent.com/AmoabaKelvin/lookout/main/uninstall.sh | sudo sh -s -- --purge