Altalogy / tari

The Tari protocol
https://tari.com
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

feat: tor is not started #335

Closed alex1307 closed 2 years ago

alex1307 commented 2 years ago

Description:

Tor image fails to start. The file torrc is required. When image is started docker is trying to run /usr/bin/tor which fails. bug #334

Motivation and Context Bug must be fixed.

How Has This Been Tested? Manually. All images are built running the script below: BUILD_PLATFORM=arm64 FEATURES=safe ./build_images.sh Tor, base_node, wallet and miners are started successfully.

CjS77 commented 2 years ago
  1. Why do you suppose tor used to work before, but not now?
  2. In general there is no need for a torrc because it is configured on the command line (settings.rs#339-341)
  3. If a torrc is required, (assuming the q in 1 has an answer), rather than add a mount, just add a blank torrc to the image.
alex1307 commented 2 years ago
  1. Why do you suppose tor used to work before, but not now? I am not sure whether there is a bug with Tor image or with running it from Launchpad or both or there is no bug at all. I cleanup docker and removed all Launchpad files from Application and Library folder in order to have onboarding screen running. After this change I noticed that Tor does not start properly. I built it in several ways but without a success. But the image starts successfully from docker-compose or when I execute docker run -v ~/launchpad/tor:/etc/tor quay.io/leet4tari/tor:latest, but not when I try from Launchpad. The Tor image does not start without mounting the torrc file. If this is a local issue then I should not worry about it. I talked with @leet yesterday and he thinks it is a launchpad bug. After the change I can build it and run it from Launchpad.

  2. In general there is no need for a torrc because it is configured on the command line (settings.rs#339-341) I do agree with you, but without both changes I made it does not start.

  3. If a torrc is required, (assuming the q in 1 has an answer), rather than add a mount, just add a blank torrc to the image. That was my idea initially - to change the docker image. But if @leet4tari thinks it is a Launchpad bug then I should not change the image.

leet4tari commented 2 years ago

IMHO:

  1. Tor has been bumped to a new version - 0.4.7.7-r1 to 0.4.7.8-r0, could have been a bug in your version.
  2. Torrc was need with docker-compose, but can be overridden with an empty command, where -f /etc/torrc is set or pass --allow-missing-torrc as explained in https://manpages.debian.org/testing/tor/torrc.5.en.html
  3. Don't put an empty file in place, if it can be overridden - Also need to be aware of secure/safe default

I don't think you can change the ControlPort Hash, without restarting the container. Another note, using tor internal Metrics might be more useful than very basic healthcheck added to container MetricsPort 9035

CjS77 commented 2 years ago

IMHO:

  1. Tor has been bumped to a new version - 0.4.7.7-r1 to 0.4.7.8-r0, could have been a bug in your version.

The old version always worked fine 🤷

  1. Torrc was need with docker-compose, but can be overridden with an empty command, where -f /etc/torrc is set or pass --allow-missing-torrc as explained in https://manpages.debian.org/testing/tor/torrc.5.en.html

Adding --allow-missing-torrc is the way to go here then.

  1. Don't put an empty file in place, if it can be overridden - Also need to be aware of secure/safe default

I don't think you can change the ControlPort Hash, without restarting the container.

That's fine. Desirable, even.

CjS77 commented 2 years ago

Everything works perfectly fine with quay.io/tarilabs/tor:latest id: 5b3b1fb60bd5.

What's likely happened is that the dockerfile used for quay.io/leet4tari/tor:latest breaks something.

CjS77 commented 2 years ago

I'm going to close this, since it's an issue with the docker image.