geth/docs/adr/0015-user-service-installation.md

29 lines
941 B
Markdown

# ADR 0015: User Service Installation
## Status
Accepted.
## Decision
Geth provides `geth daemon service ...` commands to install, uninstall, start,
stop, inspect, and print daemon service definitions.
The service is always installed as a user service:
- Linux: systemd user unit, `~/.config/systemd/user/geth.service`
- macOS: launchd user agent, `~/Library/LaunchAgents/local.geth.daemon.plist`
- Windows: per-user scheduled task named `geth-daemon`
The service runs the same single binary as `geth daemon run` and preserves
`GETH_HOME` in the service environment.
## Consequences
There are still no separate `gethd` or `gethctl` binaries. Installation does not
require privileged system service access. Linux users who need the daemon before
interactive login may still need platform-specific user-service setup such as
systemd lingering.
Future service managers can be added behind the same service-manager enum and
CLI shape.