Docker nodes keep their identity when the container is recreated

FixedEdge Node

An edge node installed with Docker re-enrolled as a brand new node every time its container was recreated, resetting its Active Node Hours to zero. Updated Compose settings keep one identity across recreations. Existing Docker nodes reset once more as they pick this up.

An edge node installed with Docker has been losing its identity on every docker compose up -d --force-recreate and on every image pull. It came back as a brand new node, with its Active Node Hours starting again from zero and its place on the leaderboard gone. Operators running Docker have been quietly losing their history this whole time, with nothing to indicate it.

Three things decide whether a node is still the same node, and none of them survived a recreate. All three are now fixed, and they only work together.

  • Where the node keeps its files. Docker puts the root user’s home directory at /root, which isn’t on any volume, so the enrolled credentials lived exactly as long as the container did. They now live on the data volume.
  • The hostname. It is one of the inputs to the key that encrypts those credentials, and Docker assigns a new random one to every container. A recreated container could not read its own enrolment. It is now fixed.
  • The machine ID. The base image ships none, and nothing kept one. The container now generates one on first run and keeps it on its own volume.

What you need to do

Take the current Compose file and recreate the container:

curl -fsSL https://cp.3dge.app/docker-compose.yml -o docker-compose.yml
docker compose up -d --force-recreate

Then leave both volumes alone. Deleting either one has the same effect as before — the node comes back as a new node.

Your node will reset one last time

Because existing Docker nodes have no stored identity to preserve, they enroll once more as they pick this up, and their Active Node Hours start from zero that final time.

We can’t avoid it. The identity your node had depended on a hostname that was random and is already gone, so there is nothing left to recover it from. This stops the loss happening again rather than undoing the losses already taken.

If you’re watching your Active Node Hours and see them reset once around this update, that is why. They should not reset again.

← All changes · More Edge Node changes · Subscribe to Edge Node