Run Avalanche Node in Background

This page demonstrates how to set up a avalanchego.service file to enable a manually deployed validator node to run in the background of a server instead of in the terminal directly.

Make sure that AvalancheGo is already installed on your machine.

Steps

Fuji Testnet Config

Run this command in your terminal to create the avalanchego.service file

sudo nano /etc/systemd/system/avalanchego.service

Paste the following configuration into the avalanchego.service file

Remember to modify the values of:

  • user=
  • group=
  • WorkingDirectory=
  • ExecStart=

For those that you have configured on your Server:

[Unit]
Description=Avalanche Node service
After=network.target
 
[Service]
User='YourUserHere'
Group='YourUserHere'
Restart=always
PrivateTmp=true
TimeoutStopSec=60s
TimeoutStartSec=10s
StartLimitInterval=120s
StartLimitBurst=5
WorkingDirectory=/Your/Path/To/avalanchego
ExecStart=/Your/Path/To/avalanchego/./avalanchego \  
   --network-id=fuji \
   --api-metrics-enabled=true 
 
[Install]
WantedBy=multi-user.target

Press Ctrl + X then Y then Enter to save and exit.

Now, run:

sudo systemctl daemon-reload

Mainnet Config

Run this command in your terminal to create the avalanchego.service file

sudo nano /etc/systemd/system/avalanchego.service

Paste the following configuration into the avalanchego.service file

[Unit]
Description=Avalanche Node service
After=network.target
 
[Service]
User='YourUserHere'
Group='YourUserHere'
Restart=always
PrivateTmp=true
TimeoutStopSec=60s
TimeoutStartSec=10s
StartLimitInterval=120s
StartLimitBurst=5
WorkingDirectory=/Your/Path/To/avalanchego
ExecStart=/Your/Path/To/avalanchego/./avalanchego \
   --api-metrics-enabled=true
 
[Install]
WantedBy=multi-user.target

Press Ctrl + X then Y then Enter to save and exit.

Now, run:

sudo systemctl daemon-reload

Start the Node

This command makes your node start automatically in case of a reboot, run it:

sudo systemctl enable avalanchego

To start the node, run:

sudo systemctl start avalanchego
sudo systemctl status avalanchego

Output:

socopower@avalanche-node-01:~$ sudo systemctl status avalanchego
 avalanchego.service - Avalanche Node service
     Loaded: loaded (/etc/systemd/system/avalanchego.service; enabled; vendor p>
     Active: active (running) since Tue 2023-08-29 23:14:45 UTC; 5h 46min ago
   Main PID: 2226 (avalanchego)
      Tasks: 27 (limit: 38489)
     Memory: 8.7G
        CPU: 5h 50min 31.165s
     CGroup: /system.slice/avalanchego.service
             └─2226 /usr/local/bin/avalanchego/./avalanchego --network-id=fuji
 
Aug 30 03:02:50 avalanche-node-01 avalanchego[2226]: INFO [08-30|03:02:50.685] >
Aug 30 03:02:51 avalanche-node-01 avalanchego[2226]: INFO [08-30|03:02:51.185] >
Aug 30 03:03:09 avalanche-node-01 avalanchego[2226]: [08-30|03:03:09.380] INFO >
Aug 30 03:03:23 avalanche-node-01 avalanchego[2226]: [08-30|03:03:23.983] INFO >
Aug 30 03:05:15 avalanche-node-01 avalanchego[2226]: [08-30|03:05:15.192] INFO >
Aug 30 03:05:15 avalanche-node-01 avalanchego[2226]: [08-30|03:05:15.237] INFO >
Aug 30 03:05:15 avalanche-node-01 avalanchego[2226]: [08-30|03:05:15.238] INFO >
Aug 30 03:05:19 avalanche-node-01 avalanchego[2226]: [08-30|03:05:19.809] INFO >
Aug 30 03:05:19 avalanche-node-01 avalanchego[2226]: [08-30|03:05:19.809] INFO >
Aug 30 05:00:47 avalanche-node-01 avalanchego[2226]: [08-30|05:00:47.001] INFO

To see the synchronization process, you can run the following command:

sudo journalctl -fu avalanchego

Is this guide helpful?

On this page

Privacy Policy

We respect your privacy and are committed to protecting your personal data. This privacy policy will inform you about how we look after your personal data and tell you about your privacy rights.

Read full policy