130 lines
4.0 KiB
YAML
130 lines
4.0 KiB
YAML
---
|
|
- name: Create systemd service for rns
|
|
copy:
|
|
dest: /etc/systemd/system/rns.service
|
|
content: |
|
|
[Unit]
|
|
Description=Reticulum Network Stack Daemon
|
|
After=multi-user.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
Restart=always
|
|
RestartSec=3
|
|
User=root
|
|
ExecStart=rnsd --service
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
- name: Reload systemd
|
|
systemd:
|
|
daemon_reload: yes
|
|
|
|
- name: Ensure rns service is enabled and started
|
|
systemd:
|
|
name: rns.service
|
|
enabled: yes
|
|
state: started
|
|
|
|
- name: Stop service for config file update
|
|
systemd:
|
|
name: rns.service
|
|
state: stopped
|
|
|
|
- name: Ensure Reticulum config directory exists
|
|
file:
|
|
path: /root/.reticulum
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Deploy rns configuration file (using block for friendly file updates)
|
|
copy:
|
|
dest: /root/.reticulum/config
|
|
content: |
|
|
[reticulum]
|
|
enable_transport = True
|
|
share_instance = Yes
|
|
instance_name = B407
|
|
discover_interfaces = Yes
|
|
panic_on_interface_error = No
|
|
|
|
# If you're connecting to a large external network, you
|
|
# can use one or more external blackhole list to block
|
|
# spammy and excessive announces onto your network. This
|
|
# funtionality is especially useful if you're hosting public
|
|
# entrypoints or gateways. The list source below provides a
|
|
# functional example, but better, more timely maintained
|
|
# lists probably exist in the community.
|
|
|
|
# blackhole_sources = 521c87a83afb8f29e4455e77930b973b
|
|
|
|
[logging]
|
|
# Valid log levels are 0 through 7:
|
|
# 0: Log only critical information
|
|
# 1: Log errors and lower log levels
|
|
# 2: Log warnings and lower log levels
|
|
# 3: Log notices and lower log levels
|
|
# 4: Log info and lower (this is the default)
|
|
# 5: Verbose logging
|
|
# 6: Debug logging
|
|
# 7: Extreme logging
|
|
loglevel = 4
|
|
|
|
# The interfaces section defines the physical and virtual
|
|
# interfaces Reticulum will use to communicate on. This
|
|
# section will contain examples for a variety of interface
|
|
# types. You can modify these or use them as a basis for
|
|
# your own config, or simply remove the unused ones.
|
|
|
|
[interfaces]
|
|
|
|
[[Default Interface]]
|
|
type = AutoInterface
|
|
enabled = Yes
|
|
[[RNode LoRa Interface]]
|
|
type = RNodeInterface
|
|
enabled = yes
|
|
port = /dev/ttyACM0
|
|
# Set frequency to 915 MHz (US ISM Band)
|
|
frequency = 915000000
|
|
# Set LoRa bandwidth to 125 KHz
|
|
bandwidth = 125000
|
|
# Set TX power to 7 dBm (5 mW)
|
|
txpower = 7
|
|
# Select spreading factor 8. Valid
|
|
# range is 7 through 12, with 7
|
|
# being the fastest and 12 having
|
|
# the longest range.
|
|
spreadingfactor = 8
|
|
# Select coding rate 5. Valid range
|
|
# is 5 throough 8, with 5 being the
|
|
# fastest, and 8 the longest range.
|
|
codingrate = 5
|
|
# You can configure the RNode to send
|
|
# out identification on the channel with
|
|
# a set interval by configuring the
|
|
# following two parameters.
|
|
id_callsign = B407
|
|
id_interval = 600
|
|
# For certain homebrew RNode interfaces
|
|
# with low amounts of RAM, using packet
|
|
# flow control can be useful. By default
|
|
# it is disabled.
|
|
# flow_control = False
|
|
# It is possible to limit the airtime
|
|
# utilisation of an RNode by using the
|
|
# following two configuration options.
|
|
# The short-term limit is applied in a
|
|
# window of approximately 15 seconds,
|
|
# and the long-term limit is enforced
|
|
# over a rolling 60 minute window. Both
|
|
# options are specified in percent.
|
|
# airtime_limit_long = 1.5
|
|
# airtime_limit_short = 33
|
|
|
|
- name: Start rns service after config update
|
|
systemd:
|
|
name: rns.service
|
|
state: started
|