How to set a static IP for your Umbrel server

This guide is not working after 1.0
prior comments correctly mention nmcli

There seems to be an issue executing nmcli con mod commands in Umbrel 1.1

I’m not a wizard, but this SHOULD work and yet the OS appears to be playing stupid.

umbrel@umbrel:~$ sudo nmcli d
DEVICE           TYPE      STATE                   CONNECTION         
end0             ethernet  connected               Wired connection 1 
br-581f52053f90  bridge    connected (externally)  br-581f52053f90    
lo               loopback  connected (externally)  lo                 
dind0            bridge    connected (externally)  dind0              
docker0          bridge    connected (externally)  docker0            
veth0c0853f      ethernet  unmanaged               --                 
veth164ebb6      ethernet  unmanaged               --                 
veth18bcec7      ethernet  unmanaged               --                 
veth2e6f686      ethernet  unmanaged               --                 
veth4289ebf      ethernet  unmanaged               --                 
veth7a9f957      ethernet  unmanaged               --                 
vethb3adb51      ethernet  unmanaged               --                 
vethb8dcadf      ethernet  unmanaged               --                 
vethc6ba5ad      ethernet  unmanaged               --                 
vethe8067cd      ethernet  unmanaged               --                 
vethff9ef36      ethernet  unmanaged               --                 
umbrel@umbrel:~$ sudo nmcli con mod end0 ipv4.addresses 192.168.100.150/24 ipv4.gateway 192.168.100.1 ipv4.dns “127.0.0.1,192.168.100.165” ipv4.method manual
Error: unknown connection 'end0'.
umbrel@umbrel:~$ 

Would love to hear from Devs on a correct procedure to set a static IP.

Never mind…
For all those with a similar problem,
Addressing the connection by UUID allows modification of the config.

example:

sudo nmcli con mod a26de1ba-2f4e-3a13-919b-************* ipv4.addresses 192.168.100.150/24 ipv4.gateway 192.168.100.1 ipv4.dns 127.0.0.1,192.168.100.150 ipv4.method manual

Using this method I was able to set a static IP for Umbrel and setup PiHole as DHCP and DNS provider for my local network

Thanks for this - this worked for me running on a PC. The Umbrel 1.2.x update stopped respecting an assigned IP and DNS via DHCP via the router. It is a very strange bug as the Umbrel boot procedure instead assigns X.X.X.2 in the subnet of the network it finds itself in. The symptom I had is it kills the internet access (there being no DNS entry). Thanks again I hope the devs fix this.

As of 6/23/26, when I researched this and tested it, there is a UI to enter a static IP address. (UmbrelOS 1.7.3).

  1. Go to settings
  2. Select Advanced settings
  3. Select Network
    In this view you will see your NICs and you can follow to set a static IP, Gateway, and DNS server. Do also note the host name you can change there.

I also want to point out the config settings above to be entered in dhcpcd.conf referenced eth0 and the UI (for me showed end0). This could be why my config was failing. Be sure to name the proper instance of your NIC for settings to work.

Good luck folks.