github.com/status-im/status-go@v1.1.0/_assets/systemd/bootnode/README.md (about)

     1  # Status Bootnode
     2  
     3  This folder contains setup for running your own Status Bootnode.
     4  It uses [Systemd](https://www.freedesktop.org/wiki/Software/systemd/) for managing the Status Bootnode service.
     5  
     6  The steps it takes are:
     7  
     8  * Builds `bootnode`
     9  * Generates & saves a private key
    10  * Generates `systemd` service
    11  * Starts the service
    12  
    13  # Usage
    14  
    15  To simply configure and start the service run `make`.
    16  
    17  In order to manage the new `statusd` service you use other `Makefile` targets:
    18  
    19  * `make info` - Info about service
    20  * `make enode` - Get enode address
    21  * `make start` - Start the service
    22  * `make stop` - Stop the service
    23  * `make status` - Check service status
    24  * `make enable` - Enable the service
    25  * `make disable` - Disable the service
    26  * `make logs` - Read the service logs
    27  * `make clean` - Stop service and remove it
    28  
    29  All the above commands are just wrappers around the [`systemctl`](http://man7.org/linux/man-pages/man1/systemctl.1.html) and [`journalctl`](http://man7.org/linux/man-pages/man1/journalctl.1.html) commands.
    30  
    31  # Settings
    32  
    33  All settings are passed through environment variables:
    34  
    35  * `SERVICE_NAME` - Name of the `systemd` service to be created. (Default: `statusd`)
    36  * `LISTEN_PORT` - Bootnode TCP & UDP port, by default it's `30301` but you might want to use `443`.
    37  * `DATA_PATH` - Location of Bootnode storage and keys. (Default: `/var/tmp/status-go-boot`)
    38  * `KEY_PATH` - Location of Bootnode private key file. (Default: `/var/tmp/status-go-boot/nodekey`)
    39  * `LOG_LEVEL` - Set level of log messages to show. (Values:`0-9`, Default: `3`)`
    40  
    41  # System Service
    42  
    43  By default this `Makefile` configures the Bootnode as a [systemd user service](https://www.freedesktop.org/software/systemd/man/user@.service.html). This is done to simplify the proces and remove the need for `sudo`. The disadvantage of this solution is that the service is stopped when the user logs out.
    44  
    45  In order to make your service a system service use `sudo make`.
    46  
    47  # Known Issues
    48  
    49  * `No journal files were opened due to insufficient permissions.` from `systemctl`
    50    - To see logs of a user systemd service you need to be a member of `systemd-journal` group.
    51    - Use: `bash usermod -a -G systemd-journal ${USER}`