Systemd Service
Run Akshi as a system service on Linux.
Create a service user
sudo useradd --system --home-dir /opt/akshi --create-home akshi
sudo chown -R akshi:akshi /opt/akshi
Install files
sudo cp akshi /usr/local/bin/akshi
sudo cp runtime.toml /opt/akshi/runtime.toml
sudo cp agents/*.wasm /opt/akshi/agents/
Create the unit file
Write /etc/systemd/system/akshi.service:
[Unit]
Description=Akshi Agent Runtime
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=akshi
Group=akshi
WorkingDirectory=/opt/akshi
ExecStart=/usr/local/bin/akshi run --config /opt/akshi/runtime.toml
ExecReload=/usr/local/bin/akshi reload
Restart=on-failure
RestartSec=5
Environment=AKSHI_TOKEN=your-secret-token
Environment=ANTHROPIC_API_KEY=sk-ant-...
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Enable and start
sudo systemctl daemon-reload
sudo systemctl enable akshi
sudo systemctl start akshi
Manage
# Check status
sudo systemctl status akshi
# View logs
sudo journalctl -u akshi -f
# Reload agents (hot reload)
sudo systemctl reload akshi
# Restart
sudo systemctl restart akshi
Environment file
For sensitive variables, use an environment file:
sudo tee /opt/akshi/.env << 'EOF'
AKSHI_TOKEN=your-secret-token
ANTHROPIC_API_KEY=sk-ant-...
EOF
sudo chmod 600 /opt/akshi/.env
sudo chown akshi:akshi /opt/akshi/.env
Add to the unit file:
EnvironmentFile=/opt/akshi/.env