1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# nitro@ : nitro user services
I heard you like nitro, so how about sharing a bit with your users? This runs
nitro in a way that users can run their own services (as themselves), and does
not depend on a seat manager.
When symlinked as `nitro@username`, will run a user service nitro daemon for
`username`. You can configure things for all users via `./conf`, or for a
particular user via `./conf.username`.
Here are the settings you can set / may want to set:
* `$HOME`: you can override the user's home directory. This is only ever used to
define `CONFDIR`, but you might want to set this to something in /media for
example. It is also exported, so they may be affected by this.
* `$CONFDIR`: the nitro config dirctory for the user (equivalent of
/etc/nitro). Defaults to `$HOME/.config/nitro`.
* `$SOCKET_PREFIX`: where to place the user's runtime directory, if
any. Basically the `/run/user` prefix for default `$SOCKDIR`. Note that this
is sensitive! `unitroctl` won't know if you change this, so changing this (or
`$SOCKDIR`) will require that the user manually set `$NITRO_SOCK`.
* `$SOCKDIR`: the parent directory for nitro's runtime directory. For example,
if `$NITRO_SOCK` will be `/foo/bar/nitro/nitro.sock`, then this is
`/foo/bar`. `$NITRO_SOCK` is not configurable (though you can always edit it
in!). Defaults to `${SOCKET_PREFIX:-/run/user}/$UID`.
* `$CHPSTUSER`: what to pass to chpst's `-u` argument. Defaults to `:$(id -u
$USER):$(id -G $USER)`, so for UID 1000 GID 1000 supplementary groups 1, 2, 3,
this will be `:1000:1000:1:2:3`. Importantly, this is not sanity-checked, so
you could run a daemon with an extra (or fewer) user groups.
There are a couple of failure conditions. By default, ./setup is written in such
a way as to continually retry if any of them are hit. See ./setup for more
details.
While users (or even you via the system profile) can set `$NITRO_SOCK` ahead of
time to an appropriate value, the `unitroctl` script exists in case you didn't
change either socket default.
|