Getting started
Install as a macOS service
bash
git clone https://github.com/walisayu/walis.git
cd walis-dev
sudo ./deploy/install.sh --user "$(whoami)" --port 11120That publishes a self-contained binary to /usr/local/walis/releases/<timestamp>, builds the admin UI into the same release, and registers two launch daemons:
| Daemon | Runs as | Purpose |
|---|---|---|
com.spex.walis | your account | the service itself |
com.spex.walis-restarter | root | watches a trigger file and restarts the service |
The service is a LaunchDaemon so it starts at boot, but the plist names a regular user — Walis runs arbitrary shell, and root is not the account you want that on.
Open http://127.0.0.1:11120.
Or run it from source
bash
dotnet run --project Source/Walis.Api --no-launch-profile -- --urls http://127.0.0.1:11126
npm --prefix Source/Walis.Admin run devYour first job
- Jobs → New job
- Give it a name and a working directory
- Either write shell directly, or build a flow out of actions
- Press Run
The log window shows each step separately: status, exit code, duration, and output that streams while the step is still running.
Turn on sign-in before exposing it
Walis executes arbitrary shell. Anyone who can reach the API can run commands as the service account.
- Create an account under Accounts
- Enable Require sign-in in Settings → Security
- Consider requiring one-time passwords as well
Only then put it behind a tunnel or reverse proxy.