How to change umbrel.local to something else?

I would like to run multiple Umbrels in my same local network.
How can I change the umbrel.local address to something like umbrel-2.local ?

It would be best if I could to that directly on the SD card.

Please read this guide and when is about to put in your hosts file the name desired, instead of umbrel.local you can use whatever you want.
But remember will be that name only on your PC that you use to access it.
There’s another way to edit the lnd.conf file of Umbrel, there’s a line about that name. but I suggest to NOT change that, can affect other components.

Where can I find the lnd.conf on the SD card?

sudo nano ~/umbrel/lnd/lnd.conf

1 Like

lnd.conf would relate to LND only no?

Within docker-compose.yml we have a reference to “http://umbrel.local” twice, which is also referenced by $DEVICE_HOSTS variable.

I tried setting an .env with my custom device hosts variable:

Unfortunately, this does not change anything even after reboot. Maybe I have to run some build command? Do you know?

why bother too much changing settings into the belly of the beast (umbrel) when you can fix this elegantly:
in your local PC that you use to access the nodes, just add into hosts file:
192.168.1.xx1 umbrel-1.local
192.168.1.xx2 umbrel-2.local

Done. No more complications

I would find it more elegant if it would be resolved via umbrel itself. Maybe in the future this is going to be a feature. For now it seems like I have to be happy with the hosts file.

  1. Umbrel is supposed to be like a home server - .local is a reasonable for that
  2. Umbrel is already generating an unique onion address based on some cryptographical hash (included for each app)
  3. If you install it into your own desktop Linux PC (not on RaspPi witb UmbrelOS), you could use/access whatever name you put to that machine.
  4. you could access anyway by IP when you have multiple nodes in the same LAN, why bother accessing by name? Is not used for anything else.
1 Like

Are you sure this works?
I tried to login via umbrel-2.local and I am getting Server Error “Not allowed by CORS”. Login gets stuck though.

just delete from local device the line indicated in the message and you are good to go with a new key

I am not sure if there is a line indicated to be deleted.

That’s a security feature. Why do you need to change umbrel.local?

@ekn_me I run into the same issue…my workaround was to access via IP address instead of local domain

So there is no way to have two umbrel running in the same local network and having two different hostnames without running into issues ?

even changing values in docker-compose doesn’t solve it…

P.S : @ekn_me you may want to change the topic as being unsolved yet

is this related to that issue ?

or this issue as well

seems to mention a way to modify start script
this part seems to be fine

# Whitelist device IP, hostname and hidden service for CORS
DEVICE_IP="$(ip -o route get to | sed -n 's/.*src \([0-9.]\+\).*/\1/p')"
if [[ -f "${UMBREL_ROOT}/tor/data/web/hostname" ]]; then
    hidden_service_url=$(cat "${UMBREL_ROOT}/tor/data/web/hostname")

this code seems fine since it catch up already the correct hostname but when trying to login there is no error showing in the user interface but in the console there is this

Error: Redirected from "/" to "/dashboard" via a navigation guard.

Trying to summarize the issue :slightly_smiling_face:

  • when trying to initialize the umbrel at first it gets a clear error about CORS after setting up the password.
  • Then when accessing via IP no issue.
  • when going back trying to login at hostname.local there is this navigation guard error but on the user facing side it is just blinking the LOGIN button as if it was loading…

Solutions unsuccessful :slightly_smiling_face:

  • replacing in docker-compose all “umbrel.local” values to my “hostname.local”
  • adding in .env a variable DEVICE_HOSTS=hostname.local