I was having issues with tor connecting to my node with sparrow. I found a thread stating to install tor on my server which is Ubuntu. sudo apt-get install tor … as per the electrum guide because I was having issues with sparrow connecting with tor at all. It now umbrel will not boot.
ssh into my server…
When trying to start from a shell with ./scripts/start I get the following.
Starting status monitors…
Starting memory monitor…
Starting backup monitor…
Starting decoy backup trigger…
Starting Docker services…
Starting tor …
Starting ross_tor_server_1 …
electrs is up-to-date
Starting tor … error
WARNING: Host is already in use by another container
ERROR: for tor Cannot start service tor_proxy: driver failed programming external connectivity on endpoint tor (41b2fccbc4bd97f024c92ec916a83b80674cc09a6fbc9ca2b5fdf4eb77d53fab): Error starting userland proxy: listen tcp4 127.0.0.1:9050: bind: address already in use
ERROR: for tor_proxy Cannot start service tor_proxy: driver failed programming external connectivity on endpoint tor (41b2fccbc4bd97f024c92ec916a83b80674cc09a6fbc9ca2b5fdf4eb77d53fab): Error starting userland proxy: listen tcp4 127.0.0.1:9050: bind: address already in use
ERROR: Encountered errors while bringing up the project.
Failed to start containers
Skipping status update when not on Umbrel OS
I’m having the exact same issue. I need tor locally. I had to uninstall it (apt remove tor) then restart umbrel for umbrel to come up. Can a docker tor and a local tor not live in harmony?
I’m pretty sure they are using the same port so they conflict with each other. The umbrel docker-compose.yml file shows proxy tor port as local. Need to figure out how to change either docker or local to live in harmony.
Here’s the fix:
Stop umbrel
Edit ~/umbrel/docker-compose.yml
replace 127.0.0.1:$tor_proxy_port:$tor_proxy_port with 127.0.0.1:9052:9050
then start umbrel
Umbrel should now be accessible via onion and local; and tor should not be conflicting with anything else.
The base Umbrel software is in a Docker container. I would assume the devs probably were only thinking about making Umbrel work in a Docker container and not concerned if someone was also doing projects with TOR in localhost. So when someone chose to run TOR for whatever reason AND install Umbrel, the localhost TOR running on port 9050 conflicted with docker Tor port 9050. I didn’t locate the reference #tor_proxy_port but it must reference port 9050 (default tor port) in some config somewhere (but I also didn’t search very hard). In a Docker container, you have an internal port (there’s a network inside a container so apps inside can talk to each other) and an external port so the docker container can talk to the localhost.
It’s in this format: localhost:localport:dockerport, or (127.0.0.1:9050:9050), If TOR wasn’t loaded on localhost, this would have worked fine. With the conflict, I changed the docker container port to a different number (9052). Localhost TOR 9050 then started because it wasn’t conflicting with the Docker TOR now on 9052.