penguin is installed on Alpine Linux as a locally built APK package. Docker
is not required or supported.
Run these commands on Alpine 3.23 or later from a checkout of the tag matching
pkgver in APKBUILD:
doas apk add abuild build-base cargo cmake openssl opus-dev pkgconf rust
doas adduser "$USER" abuild
abuild-keygen -a -i
abuild -r
doas apk add --allow-untrusted ~/packages/"$(uname -m)"/penguin-"$(sed -n 's/^pkgver=//p' APKBUILD)"-r0.apkabuild -r builds the checked-out source with Alpine's native Rust toolchain,
runs the test suite, and writes the APK to ~/packages/.
Log out and back in after adding yourself to the abuild group if the group
membership is not active in the current shell.
The package installs the executable at /usr/bin/penguin. Supply the required
Discord credentials through the environment before starting it:
export DISCORD_TOKEN='your-discord-token'
export GUILD_ID='your-discord-guild-id'
penguinThe package deliberately does not create a user, install an OpenRC service, or store credentials. Choose the process supervisor and secret-management method appropriate for the host.
Pushing a tag named v<version> starts the GitHub Actions workflow. It builds
the APK in Alpine and attaches the resulting package to a GitHub Release. The
tag must match pkgver in APKBUILD; update both before tagging a new version.