How to setup Chiadog using docker?

Hi,

Does anyone have a playbook/guide on how to setup chiadog with docker? I can install the docker, but not sure of the next steps. The chiadog website recommends the docker approach, but then doesn’t give installation instructions.

Thanks!

Hi, Machinaris bundles Chiadog and other useful tools, including the blockchain(s), within a Docker image. Perhaps more all-in-one than you are looking for though. https://www.machinaris.app

Hi,

I’ve been out of touch with Chia for about a year or so, so I’m not familiar with Machinaris.

I had a trust built up with Chiadog due to its lifespan and popularity, which gave me the confidence to install it on my farm server.

Can you comment as to Machinaris’s trust / security profile? (this is not meant as a personal reflection on you in anyway!) Just, how do I go about trusting software I’m not familiar with?

Thanks!

Good question. Both Chiadog and Machinaris have releases dating back to early 2021. Check out our active Discord and FAQ for more.

Since it sounds like you are already running your Chia farm with official Chia binaries, then perhaps you just would benefit from a monitoring system like Farmr. Might be the best fit for your particular requirements if you want to build your farm up tool by tool.

You don’t really need much trust with ChiaDog. I run it on a separate box, and network share log folders from other boxes. This way ChiaDog only sees those logs (read only).

Having said that, I looked at most of the files (maybe except notification part), as I was also modifying some of it. Whichever file I looked at, all were clean. Although, I didn’t download the recent releases (too many changes on my side, so I would need to integrate it into what I have - too little changes to be worth time right now).

Okay, sounds good. I was going to run with chiadog but unfortunately the latest Docker instance is broken and won’t run, and I think I need this version to run Chia 1.5.1. So currently I’m just waiting/hoping that it’ll get fixed.

In the meantime or possibly instead I’m going to look into @guy.davis recommendation of farmr.

Thanks

Hmm, I updated to Chia 1.5.1 less than a week ago. At the same time I pulled the latest chiadog docker. I don’t use many of its features, which may well explain why I didn’t see new issues.

Weird, my docker won’t even run. I’m not alone as someone else raised a ticket in GitHub.

When I execute

sudo docker run ghcr.io/martomi/chiadog

it just outputs

/chiadog/venv/lib/python3.10/site-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
Traceback (most recent call last):
  File "/chiadog/main.py", line 112, in <module>
    conf = Config(Path(args.config))
  File "/chiadog/src/config.py", line 14, in __init__
    raise ValueError(f"Invalid config.yaml path: {config_path}")
ValueError: Invalid config.yaml path: /root/.chiadog/config.yaml

I get the same error if I try to start the docker like that. I always hesitate to give examples because I’m not an expert and my setups may have holes, especially security wise. Please keep this in mind, whoever decides to try this.

Docker Compose is one way to define docker configuration in yaml file. Instead of having to remember the full docker command line each time.

→ prepare chiadog config.yaml file with the wanted log consumers, handlers and notifiers. I used the example config as a base.
→ place the config file anywhere in file system as long as it is accessible. The simplest is probably a folder named .chiadog in user’s home dir.
→ make a file docker-compose.yaml for chiadog:

version: "3"

services:
    chiadog:
        container_name: chiadog
        image: ghcr.io/martomi/chiadog:latest
        volumes:
            - /XXXX/.chiadog:/root/.chiadog
            - /YYYY/mainnet/log:/root/.chia/mainnet/log:ro
            - /etc/timezone:/etc/timezone:ro
            - /etc/localtime:/etc/localtime:ro
        restart: unless-stopped

Volume mappings are in format local_folder:container_folder, and I have tried to give chiadog read-only access to chia logs folder. XXXX is path to chiadog config folder and YYYY is path to chia logs.

→ to start chiadog: sudo docker-compose up -d ( there are up, down, start and stop commands available. The -d is for letting the container run in background.)

As others have said, safest is to run chiadog in another machine and map the folders over the network. I’m not doing this since what little chia I have got from my small farm is stored in a cold wallet and those keys are nowhere in my local network.