Self-install into canonical layout on both platforms, --no-copy to opt out
Windows: --install-service creates %ProgramFiles%\gpu-turnstile and %ProgramData%\gpu-turnstile, copies the exe and (if absent) the env file in, and registers the copy. Linux: binary goes to /var/lib/gpu-turnstile (not /usr/local/sbin: replacing a running binary needs directory write, which must not be granted on a shared system dir to a sandboxed service). --no-copy registers the current location as-is on both platforms.
This commit is contained in:
@@ -96,31 +96,31 @@ go build ./cmd/gpu-turnstile
|
||||
|
||||
### Run natively on Windows (current primary deployment)
|
||||
|
||||
Download `gpu-turnstile.exe` from a release, put a `gpu-turnstile.env`
|
||||
next to it, and run it — or install it as a Windows service from an
|
||||
elevated shell:
|
||||
Download `gpu-turnstile.exe` from a release and install it as a Windows
|
||||
service from an elevated shell — the installer creates the canonical
|
||||
layout, copies the binary and (if none exists yet) your
|
||||
`gpu-turnstile.env` into it, and registers the copy:
|
||||
|
||||
```sh
|
||||
gpu-turnstile.exe --install-service # auto-start service, recovery = restart
|
||||
gpu-turnstile.exe --install-service # installs into Program Files, auto-start
|
||||
gpu-turnstile.exe --install-service --no-copy # register in place instead
|
||||
gpu-turnstile.exe --remove-service
|
||||
```
|
||||
|
||||
The service uses the config file (services have no convenient
|
||||
environment); set `LOG_FILE` in it since there is no console.
|
||||
|
||||
Suggested layout: `C:\Program Files\gpu-turnstile\` for the exe and
|
||||
`gpu-turnstile.env`, logs under `C:\ProgramData\gpu-turnstile\` via
|
||||
`LOG_FILE`. The service always runs as the virtual account
|
||||
`NT SERVICE\gpu-turnstile` (low-privilege, per-service, no password); the
|
||||
installer automatically grants it write access to the install and log
|
||||
directories — nothing else to do.
|
||||
Layout: `C:\Program Files\gpu-turnstile\` holds the exe and
|
||||
`gpu-turnstile.env`, logs go to `C:\ProgramData\gpu-turnstile\` (set
|
||||
`LOG_FILE` in the env file — there is no console). The service always runs
|
||||
as the virtual account `NT SERVICE\gpu-turnstile` (low-privilege,
|
||||
per-service, no password); the installer automatically grants it write
|
||||
access to the install and data directories — nothing else to do.
|
||||
|
||||
### Run natively on Linux (systemd)
|
||||
|
||||
The same binary works on Linux. Install it as a systemd service as root:
|
||||
|
||||
```sh
|
||||
gpu-turnstile --install-service # writes + enables + starts the unit
|
||||
gpu-turnstile --install-service # installs into /var/lib/gpu-turnstile, enables + starts
|
||||
gpu-turnstile --install-service --no-copy # register in place instead
|
||||
gpu-turnstile --remove-service
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user