Unable to access OpenRemote via custom hostname and port

Hi,
I might be missing simple details, but following the quick start guide is not helping either.
Description: I am trying to deploy and access OpenRemote via a custom IP and port (e.g., 192.168.2.48:8443) for now local IP, but I can only access the system via localhost. Here are the details:

What I am trying to do: follow the quick start guide and change the hostname and port to access OpenRemote from other devices on my network using the local IP (192.168.2.48) instead of localhost.

Observed behavior: I can access OpenRemote using https://localhost:8443, but when I try to access it using https://192.168.2.48:8443, it does not work.
Expected behavior: I should be able to access OpenRemote via the local IP (192.168.2.48) on the same machine and other devices on the network.

Docker Compose Configuration: copy of my docker-compose.yml is attached.

System Info:
OS: ubuntu
OpenRemote Version: latest

Could you please help identify why this issue occurs when using a custom hostname as in local IP pr VP Sip doesnt seem to work?
Thanks and kind regards,

version: '2.4'

volumes:
  proxy-data:
  manager-data:
  postgresql-data:

services:

  proxy:
    image: openremote/proxy:${PROXY_VERSION:-latest}
    restart: always
    depends_on:
      manager:
        condition: service_healthy
    ports:
      - "80:80"   # HTTP exposed on port 80 (for SSL generation via Letsencrypt)
      - "8443:443"  # Custom SSL port exposed on 8443 (mapped to container's 443)
      - "8883:8883"  # MQTT exposed on default port 8883
      - "0.0.0.0:8404:8404"  # Metrics access on all interfaces (not just localhost)
    volumes:
      - proxy-data:/deployment
    environment:
      LE_EMAIL: ${OR_EMAIL_ADMIN:-}   # Email for Letsencrypt
      DOMAINNAME: 192.168.2.48        # Custom IP address for hostname
      DOMAINNAMES: ${OR_ADDITIONAL_HOSTNAMES:-}  # Optional additional domains
      # Optional custom proxy config
      # HAPROXY_CONFIG: '/data/proxy/haproxy.cfg'

  postgresql:
    restart: always
    image: openremote/postgresql:${POSTGRESQL_VERSION:-latest}
    shm_size: 128mb
    volumes:
      - postgresql-data:/var/lib/postgresql/data
      - manager-data:/storage

  keycloak:
    restart: always
    image: openremote/keycloak:${KEYCLOAK_VERSION:-latest}
    depends_on:
      postgresql:
        condition: service_healthy
    volumes:
      - ./deployment:/deployment
    environment:
      KEYCLOAK_ADMIN_PASSWORD: ${OR_ADMIN_PASSWORD:-secret}
      KC_HOSTNAME: 192.168.2.48  # Custom IP address for Keycloak
      KC_HOSTNAME_PORT: 8443     # Custom SSL port

  manager:
    restart: always
    image: openremote/manager:${MANAGER_VERSION:-latest}
    depends_on:
      keycloak:
        condition: service_healthy
    ports:
      - "0.0.0.0:8405:8405"  # Metrics access on all interfaces (not just localhost)
    environment:
      OR_SETUP_TYPE:
      OR_ADMIN_PASSWORD: ${OR_ADMIN_PASSWORD:-secret}
      OR_SETUP_RUN_ON_RESTART:
      OR_EMAIL_HOST:
      OR_EMAIL_USER:
      OR_EMAIL_PASSWORD:
      OR_EMAIL_X_HEADERS:
      OR_EMAIL_FROM:
      OR_EMAIL_ADMIN:
      OR_METRICS_ENABLED: ${OR_METRICS_ENABLED:-true}
      OR_HOSTNAME: 192.168.2.48  # Custom IP for accessing OpenRemote services
      OR_ADDITIONAL_HOSTNAMES:
      OR_SSL_PORT: 8443  # Custom SSL port
      OR_DEV_MODE: ${OR_DEV_MODE:-false}
    volumes:
      - manager-data:/storage

Hello @EyuelDA!

How did you exactly install Docker?
Maybe your Docker daemon is configured to bind to a specific IP instead of all IPs (0.0.0.0)?
You could check /etc/docker/daemon.json to see if the default ip is configured.
It could also be your dockerd is started using the --ip ip switch (see dockerd docs).

You could also bind port 8443 to the 0.0.0.0 IP in your compose file to make sure it listens on all IPs (similar to the metrics port):

     - "0.0.0.0:8443:443"  # Custom SSL port exposed on 8443 (mapped to container's 443)

If that all does not help, maybe you can post the docker ps output.

What is shown in the quick start guide works with the default docker compose profile in the main repo: