Cannot start my full node

I followed the guide for installing a full node on Ubuntu 20.04 and everything went smoothly up until attempting to start the node with the recommended command:

docker run --name celo-fullnode -d --restart unless-stopped --stop-timeout 300 -p -p -p 30303:30303 -p 30303:30303/udp -v $PWD:/root/.celo $CELO_IMAGE --verbosity 3 --syncmode full --rpc --rpcaddr --rpcapi eth,net,web3,debug,admin,personal --light.serve 90 --light.maxpeers 1000 --maxpeers 1100 --etherbase $CELO_ACCOUNT_ADDRESS --datadir /root/.celo --nousb

Am I correct in running the command exactly ‘as is’ or do I need to use my actual account address in place of $CELO_ACCOUNT_ADDRESS ?

The error I receive when running the command is:

unknown flag: --verbosity
See ‘docker run --help’

Any suggestions on where I may be going wrong?

Hi @ThaiGuy, are you following the guide on Celo’s docs?

If so, you’ve created an account on this step, and that’s the address that should be passed to the full node.

If you’ve exported the CELO_ACCOUNT_ADDRESS environment variable you can run the command as is. Otherwise, substituting it by the address should also work.

That said, would you mind checking if you have the CELO_IMAGE variable set on your environment? The “unknown flag: --verbosity” suggests that it might have been empty and docker was trying to parse “–verbosity” instead of passing it to the image.

Thanks for your help. Yes, that is the guide I followed. One thing that may have screwed things up for me is that the first account I created was with a weak password, so what I did was uninstall docker and remove the celo-data-dir hoping for a clean start. I rebooted and then went through the same process again but this time using a stronger password.

Has creating two accounts caused an issue for me?

I didn’t run a command to set the CELO_IMAGE variable. Can you advise how I would do that?

I went ahead and re-ran the command:

export CELO_IMAGE=Google Cloud Platform

Then when trying to start the node I received the error:

docker: Error response from daemon: Conflict. The container name “/celo-fullnode” is already in use by container “965f6380c718ecdd57e9ebf098b130992d7052dd37129b2579c3b8b3beebeed5”. You have to remove (or rename) that container to be able to reuse that name.

Are there any instructions for recovering from ‘failed attempts’ at setting up a node? Is uninstalling Docker enough, or do I need to take other steps?

I don’t think so – rebooting probably unset CELO_IMAGE. Quoting the guide:

This environment variable will only persist while you have this terminal window open. If you want this environment variable to be available in the future, you can add it to your ~/.bash_profile

That’s only valid for bash, though. Please follow your shell’s instructions on persisting environment variables.

I’m no docker expert, but I believe that docker rm celo-fullnode could help here.

Thanks. Removed the docker container, cleared the celo folders and ran through the setup procedure again. No errors this time, however, still no output in my Powershell (Windows) screen (after 5 minutes) so I have no way of knowing if my node is syncing with the network. The only output was an approx 56 digit string after running the celo-fullnode command.

Np! You can interact with the full node using celocli. Once it’s installed, you could try running celocli network:info to check if your node is synchronised.