@@ -50,7 +50,7 @@ export VOINETWORK_SKIP_WALLET_SETUP=1
50
50
/bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/VoiNetwork/docker-swarm/main/install.sh) "
51
51
```
52
52
53
- ## Updating Participation Key
53
+ ## Updating Your Participation Key
54
54
55
55
If your Voi node's participation key is nearing its expiry date (less than 14 days left), you can renew it by running
56
56
the installation script again. This script is programmed to create new participation keys when the current ones are
@@ -61,6 +61,50 @@ expire, rerun the installation script to generate a new key.
61
61
/bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/VoiNetwork/docker-swarm/main/install.sh) "
62
62
```
63
63
64
+ ## Setting up Participation Key Expiry Notifications (Recommended)
65
+
66
+ Each online account has a participation key that needs to be valid for the account to participate in the Voi network.
67
+ A participation key is valid for a certain number of rounds, which is approximately 14 days. When the participation key
68
+ expires the node runner will no longer be able to propose or vote on blocks. To avoid this situation you need to renew
69
+ the participation key before expiration.
70
+
71
+ To receive a notification when the participation key is about to expire, you can do the following:
72
+
73
+ ### Copy the example file
74
+
75
+ Start by copying the example notification.yml file to the voi/docker-swarm directory:
76
+
77
+ ` cp ~/voi/docker-swarm/notification.yml.example ~/voi/docker-swarm/notification.yml `
78
+
79
+ ### Update the notification.yml file
80
+
81
+ Update the notification.yml file with your preferred notification mechanism by updating the NOTIFICATION_URLS
82
+ environment variable. The notification mechanism can be a webhook, email, push, or any other notification mechanism that
83
+ is available via [ Apprise notifications] ( https://github.com/caronc/apprise?tab=readme-ov-file#supported-notifications )
84
+
85
+ If you want to use multiple mechanisms, separate them with a comma. For example, to use both Discord and Pushbullet for
86
+ notification, you would set the ` NOTIFICATION_URLS ` value in the ` notification.yml ` file to:
87
+
88
+ ``` yaml
89
+ NOTIFICATION_URLS="discord://<webhook_id>/<webhook_token>,pushbullet://<access_token>"
90
+ ```
91
+
92
+ ### Updating notification schedule
93
+
94
+ To modify the notification schedule, adjust the ` - swarm.cronjob.schedule=0 16 * * * ` label in the copied example file.
95
+ This is by default set to run daily at 4 PM UTC. Adjust this to your preferred time, accounting for your
96
+ timezone's UTC offset. Use a resource like [ dateful.com] ( https://dateful.com/time-zone-converter ) for timezone conversion.
97
+
98
+ The format of the schedule is following the standard [ cronjob format] ( https://en.wikipedia.org/wiki/Cron#Overview ) .
99
+
100
+ ### Applying notification configuration to the stack
101
+
102
+ To apply your notification configuration to the stack, rerun the installation script:
103
+
104
+ ``` bash
105
+ /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/VoiNetwork/docker-swarm/main/install.sh) "
106
+ ```
107
+
64
108
## Setting a Custom Telemetry Name
65
109
66
110
To set a custom telemetry name, set the VOINETWORK_TELEMETRY_NAME environment variable to your desired name:
@@ -197,9 +241,3 @@ The `get-node-status` command performs checks using:
197
241
### Inspect service
198
242
199
243
` docker inspect voinetwork_algod `
200
-
201
- ## TODO
202
-
203
- - [ ] Add apprise / alarming on scaling events in docker-compose.yml
204
- - [ ] Add script for participation key management
205
- - [ ] Add mechanism for a user to specify notification mechanism for key expiration
0 commit comments