2024-02-05 23:00:22 +01:00
|
|
|
Sample init scripts and service configuration for neobytesd
|
2014-07-31 17:56:17 +02:00
|
|
|
==========================================================
|
|
|
|
|
|
|
|
Sample scripts and configuration files for systemd, Upstart and OpenRC
|
|
|
|
can be found in the contrib/init folder.
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
contrib/init/neobytesd.service: systemd service unit configuration
|
|
|
|
contrib/init/neobytesd.openrc: OpenRC compatible SysV style init script
|
|
|
|
contrib/init/neobytesd.openrcconf: OpenRC conf.d file
|
|
|
|
contrib/init/neobytesd.conf: Upstart service configuration file
|
|
|
|
contrib/init/neobytesd.init: CentOS compatible SysV style init script
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
1. Service User
|
|
|
|
---------------------------------
|
|
|
|
|
2024-12-16 19:40:22 +01:00
|
|
|
All three Linux startup configurations assume the existence of a "neobytes" user
|
2014-07-31 17:56:17 +02:00
|
|
|
and group. They must be created before attempting to use these scripts.
|
2024-02-05 23:00:22 +01:00
|
|
|
The OS X configuration assumes neobytesd will be set up for the current user.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
2. Configuration
|
|
|
|
---------------------------------
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
At a bare minimum, neobytesd requires that the rpcpassword setting be set
|
2014-07-31 17:56:17 +02:00
|
|
|
when running as a daemon. If the configuration file does not exist or this
|
2024-02-05 23:00:22 +01:00
|
|
|
setting is not set, neobytesd will shutdown promptly after startup.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
This password does not have to be remembered or typed as it is mostly used
|
2024-02-05 23:00:22 +01:00
|
|
|
as a fixed token that neobytesd and client programs read from the configuration
|
2014-07-31 17:56:17 +02:00
|
|
|
file, however it is recommended that a strong and secure password be used
|
|
|
|
as this password is security critical to securing the wallet should the
|
|
|
|
wallet be enabled.
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
If neobytesd is run with the "-server" flag (set by default), and no rpcpassword is set,
|
2015-10-17 12:10:45 +02:00
|
|
|
it will use a special cookie file for authentication. The cookie is generated with random
|
2015-08-07 05:35:15 +02:00
|
|
|
content when the daemon starts, and deleted when it exits. Read access to this file
|
2015-10-17 12:10:45 +02:00
|
|
|
controls who can access it through RPC.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
2015-10-17 12:10:45 +02:00
|
|
|
By default the cookie is stored in the data directory, but it's location can be overridden
|
2015-08-07 05:35:15 +02:00
|
|
|
with the option '-rpccookiefile'.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
This allows for running neobytesd without having to do any manual configuration.
|
2015-08-04 08:10:51 +02:00
|
|
|
|
2015-10-17 12:10:45 +02:00
|
|
|
`conf`, `pid`, and `wallet` accept relative paths which are interpreted as
|
2015-08-04 08:10:51 +02:00
|
|
|
relative to the data directory. `wallet` *only* supports relative paths.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
2015-10-17 12:10:45 +02:00
|
|
|
For an example configuration file that describes the configuration settings,
|
2024-02-05 23:00:22 +01:00
|
|
|
see `contrib/debian/examples/neobytes.conf`.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
3. Paths
|
|
|
|
---------------------------------
|
|
|
|
|
2015-10-25 02:28:02 +01:00
|
|
|
3a) Linux
|
|
|
|
|
2014-07-31 17:56:17 +02:00
|
|
|
All three configurations assume several paths that might need to be adjusted.
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Binary: `/usr/bin/neobytesd`
|
2024-12-16 19:40:22 +01:00
|
|
|
Configuration file: `/etc/neobytes/neobytes.conf`
|
2024-02-05 23:00:22 +01:00
|
|
|
Data directory: `/var/lib/neobytesd`
|
|
|
|
PID file: `/var/run/neobytesd/neobytesd.pid` (OpenRC and Upstart) or `/var/lib/neobytesd/neobytesd.pid` (systemd)
|
|
|
|
Lock file: `/var/lock/subsys/neobytesd` (CentOS)
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
The configuration file, PID directory (if applicable) and data directory
|
2024-12-16 19:40:22 +01:00
|
|
|
should all be owned by the neobytes user and group. It is advised for security
|
2014-07-31 17:56:17 +02:00
|
|
|
reasons to make the configuration file and data directory only readable by the
|
2024-12-16 19:40:22 +01:00
|
|
|
neobytes user and group. Access to neobytes-cli and other neobytesd rpc clients
|
2014-07-31 17:56:17 +02:00
|
|
|
can then be controlled by group membership.
|
|
|
|
|
2015-10-25 02:28:02 +01:00
|
|
|
3b) Mac OS X
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Binary: `/usr/local/bin/neobytesd`
|
2024-12-16 19:40:22 +01:00
|
|
|
Configuration file: `~/Library/Application Support/Neobytes/neobytes.conf`
|
|
|
|
Data directory: `~/Library/Application Support/Neobytes`
|
|
|
|
Lock file: `~/Library/Application Support/Neobytes/.lock`
|
2015-10-25 02:28:02 +01:00
|
|
|
|
2014-07-31 17:56:17 +02:00
|
|
|
4. Installing Service Configuration
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
4a) systemd
|
|
|
|
|
2015-04-28 16:48:28 +02:00
|
|
|
Installing this .service file consists of just copying it to
|
2014-07-31 17:56:17 +02:00
|
|
|
/usr/lib/systemd/system directory, followed by the command
|
2015-08-04 08:10:51 +02:00
|
|
|
`systemctl daemon-reload` in order to update running systemd configuration.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
To test, run `systemctl start neobytesd` and to enable for system startup run
|
|
|
|
`systemctl enable neobytesd`
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
4b) OpenRC
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Rename neobytesd.openrc to neobytesd and drop it in /etc/init.d. Double
|
2014-07-31 17:56:17 +02:00
|
|
|
check ownership and permissions and make it executable. Test it with
|
2024-02-05 23:00:22 +01:00
|
|
|
`/etc/init.d/neobytesd start` and configure it to run on startup with
|
|
|
|
`rc-update add neobytesd`
|
2014-07-31 17:56:17 +02:00
|
|
|
|
|
|
|
4c) Upstart (for Debian/Ubuntu based distributions)
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Drop neobytesd.conf in /etc/init. Test by running `service neobytesd start`
|
2014-07-31 17:56:17 +02:00
|
|
|
it will automatically start on reboot.
|
|
|
|
|
|
|
|
NOTE: This script is incompatible with CentOS 5 and Amazon Linux 2014 as they
|
2015-03-03 17:06:41 +01:00
|
|
|
use old versions of Upstart and do not supply the start-stop-daemon utility.
|
|
|
|
|
|
|
|
4d) CentOS
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Copy neobytesd.init to /etc/init.d/neobytesd. Test by running `service neobytesd start`.
|
2015-03-03 17:06:41 +01:00
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Using this script, you can adjust the path and flags to the neobytesd program by
|
|
|
|
setting the NEOBYTESD and FLAGS environment variables in the file
|
|
|
|
/etc/sysconfig/neobytesd. You can also use the DAEMONOPTS environment variable here.
|
2014-07-31 17:56:17 +02:00
|
|
|
|
2015-10-25 02:28:02 +01:00
|
|
|
4e) Mac OS X
|
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
Copy org.neobytes.neobytesd.plist into ~/Library/LaunchAgents. Load the launch agent by
|
|
|
|
running `launchctl load ~/Library/LaunchAgents/org.neobytes.neobytesd.plist`.
|
2015-10-25 02:28:02 +01:00
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
This Launch Agent will cause neobytesd to start whenever the user logs in.
|
2015-10-25 02:28:02 +01:00
|
|
|
|
2024-02-05 23:00:22 +01:00
|
|
|
NOTE: This approach is intended for those wanting to run neobytesd as the current user.
|
|
|
|
You will need to modify org.neobytes.neobytesd.plist if you intend to use it as a
|
2024-12-16 19:40:22 +01:00
|
|
|
Launch Daemon with a dedicated neobytes user.
|
2015-10-25 02:28:02 +01:00
|
|
|
|
2014-07-31 17:56:17 +02:00
|
|
|
5. Auto-respawn
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
Auto respawning is currently only configured for Upstart and systemd.
|
|
|
|
Reasonable defaults have been chosen but YMMV.
|