apus daemon
Legacy alias for Gateway service management. apus daemon ... maps to the same service-control commands as apus gateway .... Prefer apus gateway for current docs and examples.
Usage
apus daemon status
apus daemon install
apus daemon start
apus daemon stop
apus daemon restart
apus daemon uninstall
Subcommands and options
| Subcommand | Options |
|---|---|
status |
--url, --port, --token, --password, --timeout, --no-probe, --require-rpc, --deep, --json |
install |
--port, --runtime <node|bun>, --runtime-path <path>, --token, --wrapper <path>, --force, --json |
uninstall |
--json |
start |
--json |
stop |
--force, --json, --disable (launchd only: suppress KeepAlive/RunAtLoad until next start) |
restart |
--force, --safe, --skip-deferral, --wait <duration>, --json |
--json is accepted before or after every subcommand (for example, daemon --json status and daemon status --json).
status: shows service install state (launchd/systemd/schtasks) and checks Gateway health.status --port <port>: selects a local Gateway using the invoking CLI config for auth and TLS. Cannot combine with--url. Native service details remain diagnostic-only.install: installs and starts the service.--forcereinstalls an existing install and may restart a running Gateway. Finish offline configuration and runtime repairs before installation.- Node is the primary, default, and recommended service runtime. Bun 1.4+ with WAL-reset-safe
node:sqliteis available as an explicit opt-in withinstall --runtime bun. restart --safe: asks the running Gateway to preflight active work and schedule one coalesced restart after work drains, bounded to 5 minutes. When that budget expires, the restart is forced anyway. Plainrestartnormally uses the service manager directly. On Windows, commands launched from a Gateway service automatically use the safe restart path. Explicit lifecycle controls retain their behavior.--forceis the immediate override.restart --safe --skip-deferral: bypasses only the active-work deferral gate. Shutdown may still wait for pending replies to drain before the Gateway process exits. Requires--safe.
Notes
statusresolves configured auth SecretRefs for check auth when possible. If a required SecretRef is unresolved,status --jsonreportsrpc.authWarning. Pass--token/--passwordexplicitly, or resolve the secret source first. Unresolved-auth warnings are suppressed once the check otherwise succeeds.status --deepadds a best-effort system-level scan for other gateway-like services. The scan prints cleanup hints. One Gateway per machine is still the recommendation.status --deepalso runs config validation in plugin-aware mode. That mode surfaces plugin manifest warnings that the fast default path skips.- On Linux systemd installs, token-drift checks inspect both
Environment=andEnvironmentFile=unit sources. - Token-drift checks resolve
gateway.auth.tokenSecretRefs using merged runtime env (service command env first, then process env). If token auth is not effectively active (gateway.auth.modeofpassword/none/trusted-proxy, or unset with password able to win), config token resolution is skipped. installvalidates that a SecretRef-managedgateway.auth.tokenis resolvable. It never persists the resolved value into service environment metadata. If it cannot resolve the token,installfails closed.- If both
gateway.auth.tokenandgateway.auth.passwordare configured andgateway.auth.modeis unset,installblocks until you set the mode explicitly. - On macOS,
installwrites LaunchAgent plists with mode0644. Secrets stay in the generated owner-only environment file (0600), loaded through an owner-only wrapper (0700). - Running multiple Gateways on one host: isolate ports, config/state, and workspaces. See Multiple gateways.