guydavis / machinaris

An easy-to-use WebUI for crypto plotting and farming. Offers Bladebit, Gigahorse, MadMax, Chiadog and Plotman in a Docker container. Supports Chia, MMX, Chives, Flax, and HDDCoin among others.
Apache License 2.0
339 stars 69 forks source link

Server Error trying to get started on TrueNAS SCALE #94

Closed J05hr closed 3 years ago

J05hr commented 3 years ago

Getting: Internal Server Error /bin/sh: 1: cannot open /dev/tty: No such device or address Docker logs seem to show everything working but I cant connect to the webUI.

guydavis commented 3 years ago

Hi! Yes, basically you need to enable tty mode for the Docker container. However, there is a trick to do this. I believe @antdragone figured it out in his testing with TrueNAS. Hope he can drop some tips here.

J05hr commented 3 years ago

Hi! Yes, basically you need to enable tty mode for the Docker container. However, there is a trick to do this. I believe @antdragone figured it out in his testing with TrueNAS. Hope he can drop some tips here.

Hmm, I set an environment variable tty - true but I guess that didn't do it. I'm eager to know the right way to set it. Once I get it up and running Id be interested in working on the helm chart. It seems straight forward as far as docker setups go.

ibobo commented 3 years ago

I'm running Machinaris under TrueNAS scale, but there's a catch: you cannot specify the tty option (-t) from the interface. So I hope @guydavis removes the need for that switch in the future.

Still there's a workaround @J05hr and others can use: after adding the docker image in Apps > Installed applications, open the shell from the GUI (three dots icon > shell, doing the same under ssh didn't do it, I don't understand why) and execute

cd /machinaris
./scripts/start-machinaris.sh

This has to be done every time the docker image is restarted.

Apart from that, and I don't know if it's a Docker or TrueNAS or Machinaris problem, many times I have to click on things two or three times before getting results. It appears that the connection "hangs" indefinitely.

geoah commented 3 years ago

Haven't used the UI to for my deployments but you can enable tty on the pod by manually editing your machinaris deployment manifest and adding tty: true under template.spec.containers.

IMO Truenas Scale does charts/apps in a really weird way so you're better off making them manually instead of the UI. Once you edit the manifest manually if you change it in the UI it will lose your changes.

Assuming your app's name is machinaris you should be able to edit your deployment by:

k3s kubectl edit deployment/machinaris-ix-chart -n ix-machinaris

You'll find something similar to the following, find the image: attribute and add in the same depth tty: true and optionally stdin: true.

  template:
    metadata:
      labels:
        app.kubernetes.io/instance: machinaris
    spec:
      containers:
      - env:
        - name: TZ
          value: Europe/London
        image: ghcr.io/guydavis/machinaris
        stdin: true # <-- optional
        tty: true # <-- required
kmoore134 commented 3 years ago

We've done some work and Machinaris is now available in the "Official" TrueNAS SCALE apps repo, thanks to iXsystems and the TruePool.io team. Assuming you guys confirm it's working to your expectations, we can probably close this out now.

https://github.com/truenas/charts/pull/109

guydavis commented 3 years ago

Big thanks to @kmoore134 for all this work, including some great documentation.