Troubleshooting
My Gateway Seems to be Running but...
My release number doesn't match the latest version, or includes "-pre"
If your release number when you go to <your-gateway>/ar-io/info
is lower than the current release, you simply need to upgrade your gateway in order to reach the latest release.
If your release number includes the suffix "-pre" it means you are running your gateway from the development branch of the github repository, instead of the main branch. The development branch is used for staging work that the engineering team is in the middle of. Because of this, it can be much less stable than the main branch used for production and can cause significant issues.
Ensure that you are running the latest release, from the main branch, by running the below commands in your terminal:
sudo docker-compose down --rmi all
git checkout main
git pull
sudo docker-compose up -d
If this doesn't resolve the issue, you can also try a more extreme method of clearing out the incorrect docker images:
sudo docker-compose down
sudo docker system prune -a
sudo docker-compose up -d
It appears offline on Viewblock or ar://gateways
Viewblock and ar://gateways use a very simple ping method for determining if a gateway is "up". There are plenty of reasons why this ping may fail while the gateway is running perfectly, so showing as down is not cause for concern. Just verify that your gateway is still running, and wait. Your gateway will show as up again soon.
< gateway >/ar-io/observer/reports/current just says "report pending"
This is normal. Your Observer is working to generate a report and that report will be displayed once it is complete.
My Observer is showing me the error "error: Error reading interaction: Cannot read properties of undefined"
This is not an issue with your observer. The short explanation is that your Observer is looking for tasks assigned to it by the AR.IO network contract, but there isnt anything there. You can safely ignore this error message.
Observing my gateway shows failures
When observing a gateway, there are two main pass/fail tests. "Ownership" and "ArNS Assessment"
-
Ownership: This tests to see if the value set in your gateway
AR_IO_WALLET
value (in .env) matches the wallet used to join the AR.IO Network. If they don't match, update the value in your .env file and restart your gateway. -
ArNS Assessment: This tests to see if a gateway is able to resolve ArNS names correctly. The first thing you should check is if you have the
ARNS_ROOT_HOST
value set in your .env file. If not, set the value and restart your gateway. If this value is set, check to make sure you have current DNS records and SSL certificates for wildcard subdomains on your gateway.
I updated my .env settings, but nothing changed on my gateway
Once you edit your .env file, you need to "rebuild" your gateway for the changes to take effect. As of release 3, every time you start your gateway with docker-compose
it is automatically rebuilt. So all you need to do is shut your gateway down and restart it.
I am getting an out of disk space error, but I still have open storage space on my computer
The most likely cause of this is inode exhaustion. Test this by running the command:
df -i
If one of the lines in the output says 100%, you have run out of inodes and so your filesystem is not capable of creating new files, even if you have available space. The solution is to delete files from your data
folder in order to free up inodes.
This was a common issue prior to release #3, when Redis caching was introduced to reduce the number of small files created. If you are using an older version of the gateway, consider upgrading to mitigate the risk of inode exhaustion.
I can't load ArNS names
The first thing you should check if your gateway is not resolving ArNS names is that you have ARNS_ROOT_HOST
set in your .env file. If not, set it to your domain name used for the gateway. For example, ARNS_ROOT_HOST=arweave.dev
.
Once this value is set, restart your gateway for the changes to take effect.
If that doesn't resolve the issue, check your dns records. You need to have a wildcard subdomain ( *.< your-domain > ) set with your domain registrar so that ArNS names will actually point at your gateway. You can set this record, and generate an SSL certificate for it, in the same way you set the records for your primary domain.
My Gateway was Running, but now it isn't
When I try to access my gateway in a browser I get a "Your connection is not private" error
This error message means that your SSL certificates have expired. You need to renew your certificates by running the same certbot command you used when you initially started your gateway:
sudo certbot certonly --manual --preferred-challenges dns --email <your-email-address> -d <your-domain>.com -d '*.<your-domain>.com'
Certbot SSL certificates expire after 90 days, and you will need to rerun this command to renew every time. If you provide an email address, you will receive an email letting you know when it is time to renew.
I am having Trouble Getting my Gateway Set up
I set my gateway up, but when I go to my domain I get a 404/Nginx error
If you navigate to your domain and see a 404 error from Nginx (the reverse proxy server used in the setup guide) it means that your domain is correctly pointed at the machine running your gateway, but you have not properly configured your Nginx settings (or your gateway is not running).
The Set up Networking section of the setup guide has detailed instructions on configuring your Nginx server. If all else fails, try restarting Nginx, that usually clears any issues with the server clinging to old configurations.
sudo service nginx restart
When I visit my domain I see a 502 error from Nginx
A 502 error from Nginx means that Nginx is working correctly, but it is receiving an error from your gateway when it tries to forward traffic.
I am having trouble generating my SSL certificates
When using the manual certbot command provided in the setup guide:
sudo certbot certonly --manual --preferred-challenges dns --email <your-email-address> -d <your-domain>.com -d '*.<your-domain>.com'
You need to be sure that you are waiting after creating your TXT records for them to completely propagate. You can check propagation using a tool like dnschecker.org
If you continue to have issues, you can check the official certbot instructions guide
If you do not see your issue listed here, or if you were not able to solve your problem with the above information, feel free to reach out in the AR.IO discord.
Quick Lookup
Below is a quick summary of what you should check when troubleshooting your gateway. Find more detailed information in the sections above.
Issue | What to Check |
---|---|
My release number is wrong | Pull the latest github updates and make sure you are on the main branch |
Gateway appears offline on Viewblock or ar://gateways | Probably fine, but verify that your gateway is still running. |
'/ar-io/observer/reports/current' just says "report pending" | Normal behavior, wait for the report to complete. |
Observer error "Cannot read properties of undefined" | Normal behavior, Observer is checking for data not implemented yet. |
Observing my gateway shows failures | Check AR_IO_WALLET and ARNS_ROOT_HOST settings. |
Updated .env settings not reflected on gateway | Rebuild your gateway after editing .env file. |
Out of disk space error | Check for inode exhaustion and delete files if necessary. |
Can't load ArNS names | Check ARNS_ROOT_HOST setting in .env file, and DNS records. |
"Your connection is not private" error | Generate or renew SSL certificates. |
404/Nginx error when accessing domain | Check Nginx settings and restart Nginx if necessary. |
502 error from Nginx | Check for errors in your gateway. |
Trouble generating SSL certificates | Ensure TXT records have propagated and follow certbot instructions. |