Home » How to Resolve Port Conflict Errors in Umbrel OS and Docker
Systems & Servers

How to Resolve Port Conflict Errors in Umbrel OS and Docker

✨ Quick Answer

The port binding error (bind: address already in use or port already allocated) when attempting to start a custom container in Umbrel OS occurs because the platform's internal web proxy (based on Nginx or Traefik) has already reserved ports 80 and 443 to manage the app store interface and secure dashboard access.

Quick Diagnostics

Cause
Port 80 or 443 required by Umbrel app occupied by another service
Solution
Modify port mapping in App's docker-compose.yml file
Cause
Local Nginx or Apache process blocking host ports
Solution
Identify and stop conflicting service: sudo systemctl stop nginx

The port binding error (bind: address already in use or port already allocated) when attempting to start a custom container in Umbrel OS occurs because the platform's internal web proxy (based on Nginx or Traefik) has already reserved ports 80 and 443 to manage the app store interface and secure dashboard access.

Step-by-Step Solution

  1. 1

    Step 1: Identify which process or container is using the port

    Before modifying any compose files, connect to your Umbrel via SSH and identify precisely which service is binding to the target port:

    BASH
    # Locate processes listening on the conflicting port (e.g., port 80)
    sudo lsof -i :80
    
    # List active Docker container port mappings
    docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
    
  2. 2

    Step 2: Update port mapping in your docker-compose.yml file

    Do not attempt to kill or remove processes belonging to Umbrel's native dashboard. Instead, modify the port mapping of the container you want to deploy, changing its host-facing port to an unallocated one (e.g., change 80:80 to 8085:80):

    YAML
    services:
      app-custom:
        image: nginx:alpine
        ports:
          # Map free host port 8085 to container port 80
          - "8085:80"
    
  3. 3

    Step 3: Recreate and start the container

    Apply the configuration changes by recreating the container:

    BASH
    # Bring the container stack down and recreate it in detached mode
    docker compose down && docker compose up -d
    

Prevention Advice

Recommended security practices:

  • Avoid modifying Umbrel's main system Docker network interfaces (docker0 or the native host network) when running custom third-party applications. Always declare isolated bridge networks (bridge) within your custom Compose files. This prevents accidental port and DNS routing conflicts, keeping your Bitcoin node and server applications fully secure.
Author • Web Designer & App Creator

Rodolfo Castro

Web designer, app developer, and founder of SoporteCero. Specializing in UI/UX architecture, digital products, and modern web environments. Every tutorial and guide on SoporteCero is thoroughly tested and verified in our technical lab to ensure reliable, up-to-date solutions.