Cannot restart mainnet docker node

I try to run a mainnet node via docker. Nothing else running on the VM. Node starts fine using concordium-node, and I can also stop it using concordium-node-stop.

But when i try to restart i get an error: “Could not open config file for writing, settings won’t persist
FAILURE Failed to clean out existing database due to Os { code: 13, kind: PermissionDenied, message: “Permission denied” }”

Any suggestions for what might be wrong?

Here is the full progression when restarting after entering ‘concordium-node’ or ’ concordium-node --no-block-state-import’:
-Welcome to the Concordium node (mainnet). Let’s get you started!
-This software requires you to have Docker installed, running and configured for access from this user
-Checking whether docker is accessible on your PATH
OK
-Checking whether Docker is running
OK
-Checking whether we can access docker
OK
-What would you like your node name to be: cphvertigo
OK
-Latest version of the concordium client is 4.1.1-0
-Downloading image from our CDN
Image ./concordium-software/./image.d6JeFK4RgYuI/client-4.1.1-0.tar.gz
OK
-Loading image into Docker
OK

Could not open config file for writing, settings won’t persist
FAILURE Failed to clean out existing database due to Os { code: 13, kind: PermissionDenied, message: “Permission denied” }
Press enter to continue.

I also note that it doesn’t move to step 3 in the guide on the website: Run a node with Docker — Concordium documentation

Running/upgrading a node
To start running a client that will join Mainnet or Testnet follow these steps:

1: Open the concordium-node executable from the unzipped archive.
When restarting a node consider using the --no-block-state-import option. This will download just the updates to the Concordium blockchain that occurred while the node was inactive and might speed up the boot process.
2: Enter a name for your node. This name will be displayed in the public dashboard.
3: If the tool has been started before you will be asked if you want to delete the local node database before starting. Pressing y will delete and subsequently recreate the information on the state of the Concordium blockchain that was saved on your computer. Note that deleting the local node database means it will take longer for your node to catch-up with the Concordium network.

Hello cphvertigo

Does this question still relevant? The last question you submitted was to remove the node…

regards,
Concordium Tech Support

Hi Zoltan

Thanks for instructions on how to remove the docker node. That definitely helps, because if i get stuck i want to make sure i have a fresh start.

However, this question about restarting is the most relevant: I only have to reinstall, because i can’t restart the node. I cannot restart my node after having stopped it.

Did you updated for the newest versions?

https://developer.concordium.software/en/mainnet/net/installation/downloads.html

yes, i am on the newest version

any news on this - saw there was the same question on slack

Are any of the environment variables

XDG_CONFIG_HOME

or

XDG_DATA_HOME

set for the user running the tool? I assume not, but can you please check.

Did you perhaps run the concordium-node tool as sudo or as a different user the first time you started it?

Can you show the permissions of the directory ~/.config/concordium, e.g., by running

ls -l ~/.config/concordium 

and also the setttings file

ls -l ~/.config/concordium/settings.json

If XDG_CONFIG_HOME is set then instead replace ~/.config with $XDG_DATA_HOME in the above commands.

Hi Ales

Thanks. I will check this.

I am logged in as non-root (and non-sudo) user

sincerely
Keld

In my case, the following commands helped:

sudo chown -R $USER:$USER $HOME/.config/concordium
sudo chown -R $USER:$USER $HOME/.local/share/concordium

XDG_CONFIG_HOME and XDG_DATA_HOME are set by default and have not been set manually.

This helped me as well with the same error.

Hey Pablo.

Thanks. I tried:

This mitigates the problem: I can now restart the node.

However, now it keeps crashing (broken pipe) and everytime i restart, I have to repeat the chown commands

I installed this on a clean machine - nothing else is running on it.

sincerely
Keld