Setting Up Stake Pool on Digital Ocean (Relay node + Producer node)

Hello everyone, i would like to ask you with helping setting up my own stake pool.

I am new in this community, so i am not that good, because i am learning a lot of things right now.
I am software developer from Slovakia, but my main orientation is Java backend, so linux environment is not my best friend, but i like challenges :slight_smile: .

I created 2 droplets(servers) in digital ocean cloud service (, each has these specs :
4 GB Memory / 80 GB Disk / FRA1 - Ubuntu 20.04 (LTS) x64)

One droplet is for relay and another for producer node.

Which tutorial for setting up do you recommend? Because i do it with help from many pages/videos, but i am not sure if everything is correctly setup.

-------- My relay node ----------
is now syncing, but i cannot access to cntools, when i run it shows just some text but cannot do anything there, anyway, do i need it for relay or it is just for producer node?
-------- My relay node -----------

-------- My producer node ----------
is started, but i havent configured anything there, i am only here : Guild Operators Documentation.
I can run it, but when i run status(sudo systemctl status cnode.service) i see that its running, but it shows this warn message :
,WARN: A prior running Cardano node was not cleanly shutdown, socket file still exists. Cleaning up.,

What should i do when i have this message? It is because i have not anything configured? Are there some better logs when i have some problem? Where can i find them?

I tried also edit topology.json, where i put this text:
“addr”: “”,
“port”: 6000,
“valency”: 1
but when i start this node(sudo systemctl start cnode.service) this topology file is overwritten with this:

{ “resultcode”: “201”, “networkMagic”: “764824073”, “ipType”:4, “Producers”: [
{ “addr”: “”, “port”: 8000, “valency”: 1, “distance”:2, "cont>
{ “addr”: “”, “port”: 3001, “valency”: 1, “distance”:185, "co>
{ “addr”: “”, “port”: 3003, “valency”: 1, “distance”:307, "cont>
{ “addr”: “”, “port”: 3001, “valency”: 1, “distance”:3>
{ “addr”: “”, “port”: 3001, “valency”: 1, “distance”:478, >
{ “addr”: “”, “port”: 3001, “valency”: 1, “distance”:785, "c>
{ “addr”: “”, “port”: 30511, “valency”: 1, “distance”:1511, "cont>
{ “addr”: “”, “port”: 6000, “valency”: 1, “distance”:6150,>
{ “addr”: “”, “port”: 3001, “valency”: 1, “distance”:6320, "con>
{ “addr”: “”, “port”: 6000, “valency”: 1, “distance”:6605, "con>
{ “addr”: “”, “port”: 5100, “valency”: 1, “distance”:7371, "c>
{ “addr”: “”, “port”: 5250, “valency”: 1, “distance”:7485,>
{ “addr”: “”, “port”: 3005, “valency”: 1, “distance”:8630, "con>
{ “addr”: “”, “port”: 1781, “valency”: 1, “distance”:9138, "co>
{ “addr”: “”, “port”: 3000, “valency”: 1, “distance”:10243,>
{ “addr”: “”, “port”: 9630, “valency”: 1, “distance”:18137,>
] }

By definition i want to have only my relay node there, so what do i need to configure/setup?
-------- My producer node ----------

Any help would be great, I would like to thank you in advance.


You dont need to do anything, the message is just warning you that your previous instance wasnt cleanly shut down, and it is doing clean up before starting node.

The documentation for topology updater includes what you need to do.

You do NOT want to run topology updater on your block producing node (disable it if running via sudo systemctl disable cnode-tu-push and sudo systemctl disable cnode-tu-fetch). For relay nodes, you need to include your other peers in CUSTOM_PEERS so that you have a mix of your as well as other nodes in your topology. Note that you need not do it via topology updater, but you definitely need to be connected to other block producing nodes, topology updater provides you a means to connect to network bidirectionally without having to look around.

Thanks, but what do i need to ,Configure the air-gapped offline machine, when i am on digitalocean service, and i cannot use USB.
Is there some way to do that?
I am using tutorial from Guide: How to build a Cardano Stake Pool - CoinCashew
there is this statement : ,In order to remain a true air-gapped environment, you must move files physically between your cold and hot environments with USB keys or other removable media.,

That just means you download from your VPS to a workstation, move it to a secured portable device, and copy it to your airgapped machine.

@rdlrt Thanks for your help :slight_smile:
I am currently running my own stake pool : cardanian pool (CRDN)