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
- Detects your CPU architecture (
amd64orarm64). - Resolves the latest release tag from GitHub (or uses
VERSIONif set). - Downloads the binary and verifies its SHA-256 checksum.
- Installs the binary to
/usr/local/bin/lookout. - Creates a locked-down system user
lookout(no home directory, no login shell). - Writes a config template to
/etc/lookout/config.yaml— only on first install; re-running never overwrites an existing config. - Installs and starts the systemd unit
lookout.service, which runslookout --config /etc/lookout/config.yamland 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