Sign inSign up

gbiccard/ihost-opendns-updater

By gbiccard

Updated 21 days ago

Lightweight OpenDNS IP updater with web UI, persistent config and ARMv7/iHost support.

Image
Networking
Internet of things
0

128

gbiccard/ihost-opendns-updater repository overview

OpenDNS Updater for SONOFF iHost

gbiccard/ihost-opendns-updater keeps your OpenDNS network synchronized when your internet provider changes your public IPv4 address.

It is designed for the SONOFF iHost and includes a secure, mobile-friendly browser portal. You do not need to create or edit application configuration files: start the container, open the portal, and enter your OpenDNS details there.

What it does

  • Checks your current public IPv4 address using OpenDNS.
  • Updates OpenDNS only when the address changes.
  • Provides browser-based setup, status, activity, and security controls.
  • Lets you run an immediate check or force an OpenDNS update.
  • Keeps settings and the last successful address across restarts and upgrades.
  • Runs as a non-root user with a read-only container filesystem.
  • Is built specifically for linux/arm/v7, as used by the SONOFF iHost.

Quick start on iHost

Use this Compose configuration in the iHost Docker manager:

services:
  opendns-updater:
    image: gbiccard/ihost-opendns-updater:latest
    platform: linux/arm/v7
    container_name: opendns-updater
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      TZ: "Africa/Johannesburg"
    volumes:
      - opendns-data:/data
    read_only: true
    tmpfs:
      - /tmp:size=8m,mode=1777
    security_opt:
      - no-new-privileges:true

volumes:
  opendns-data:

Start the container, then check its log for the one-time generated administrator password:

BOOTSTRAP ADMIN PASSWORD: ...

Open the portal in a browser on your local network:

http://YOUR-IHOST-IP:8080

Sign in with:

Username: admin
Password: the generated password shown in the container log

Configure through the browser portal

After signing in, use the OpenDNS configuration section to enter:

  • Your OpenDNS username.
  • Your OpenDNS password.
  • The OpenDNS network label you created in your OpenDNS account.
  • How often the updater should check your address. Five minutes is recommended.

Select Save configuration. The updater will use these settings automatically from then on.

The network label is the name shown for the network in your OpenDNS account; it is not your Wi-Fi name or router name.

Dashboard controls

The portal shows:

  • Your current public IPv4 address.
  • The last address successfully synchronized with OpenDNS.
  • The most recent check and update results.
  • Recent updater activity.

Use Check now to check your public address immediately. Use Force OpenDNS update when you want to send the current address even if it has not changed.

Change the administrator password

Open Administrator security in the portal and replace the generated password with your own strong password. Saving security changes signs out existing browser sessions, after which you can sign in with the new credentials.

The administrator password is stored only as a bcrypt hash. The OpenDNS password must remain available to the updater and is stored in the protected persistent Docker volume. Saved passwords are never returned to the browser.

Updating the container

Pull the newest image and recreate the service through the iHost Docker manager. Your settings are preserved in the opendns-data volume.

From a command line, the equivalent commands are:

docker compose pull
docker compose up -d

Do not remove the opendns-data volume unless you intentionally want to erase the saved configuration.

Network and security

The container requires outbound DNS and HTTPS access. It does not need privileged mode, host networking, or access to iHost devices.

The browser portal is intended for a trusted home or internal network. Do not expose port 8080 directly to the public Internet.

Image information

  • Image: gbiccard/ihost-opendns-updater:latest
  • Platform: linux/arm/v7
  • Runtime: Go application on Alpine Linux
  • Portal port: 8080
  • Persistent storage: /data

Tag summary

Content type

Image

Digest

sha256:f7c48957b

Size

9.2 MB

Last updated

21 days ago

docker pull gbiccard/ihost-opendns-updater