Skip to main content

Install the Wakora agent on Alpine Linux

Tested on Alpine 3.22 on amd64. The agent is a static binary, so musl versus glibc does not matter; what differs on Alpine is the init system, and that part is a manual step.

Install​

Run this as root (Alpine images usually ship without sudo):

apk add curl openssl
curl -fsSL https://get.wakora.io | sh -s -- --key <YOUR_TEAM_KEY>

The installer verifies and installs the binary to /usr/local/bin/wakora and registers the host. It then reports that it found neither systemd nor launchd and leaves the service to you. Copy the OpenRC script from the public repository (packaging/wakora-agent.openrc) and enable it:

cp wakora-agent.openrc /etc/init.d/wakora-agent
chmod +x /etc/init.d/wakora-agent
rc-update add wakora-agent default
rc-service wakora-agent start

The script runs the agent under supervise-daemon, which restarts it if it exits and brings it back after a self-update. rc-service wakora-agent status shows its state.

What the agent finds on Alpine​

  • the package inventory read directly from /lib/apk/db/installed, and the pending updates count from apk list --upgradable;
  • the init family openrc, which selects the OpenRC variants of the SSH, Postfix and system-log definitions: authentication events and system messages are read from /var/log/messages (busybox syslog) instead of the journal;
  • every recognised service from the catalog that runs on the box;
  • host metrics: CPU, memory, swap, disks, load, network, top processes.

Verify​

wakora doctor
rc-service wakora-agent status
tail -f /var/log/wakora/agent.log

Notes​

  • There is no systemd, so the "systemd degraded" and unit-based rules do not apply. The "is it running" signal of MySQL and ClickHouse, which reads a systemd unit, is not available on Alpine; the port and process checks still are.
  • The OpenRC variants of the SSH and Postfix definitions read /var/log/messages, the busybox syslog default. A replacement syslog that writes elsewhere leaves those two counters empty; the port checks and the rest are unaffected.
  • Security updates are not split from other updates on Alpine: apk has no advisory metadata for that, so only the total pending count is reported.

Next: First start.