Skip to content

techroy23/Docker-UrNetwork

Repository files navigation

Docker-UrNetwork

A minimal Docker setup that automatically fetches, updates, and runs the latest urNetwork Provider. The container is built on Alpine Linux, ensuring a minimal footprint. Includes built-in authentication handling, resilient restarts, scheduled in‑container updates (nightly build), and network diagnostics.

Build

  • UrNetwork_stable v2025.12.30-823338960
  • UrNetwork_nightly v2026.3.15-887581010

Links

DockerHub GitHub Invite
Docker Hub GitHub Repo Invite Link

Features

  • Automated retrieval of the latest urNetwork Provider binary on startup (nightly build)
  • Scheduled update watcher (default at 12:00 Asia/Manila) (nightly build)
  • Secure credential management via environment variables
  • Alpine-based image for minimal footprint
  • Persistent storage of authentication tokens and version metadata
  • Resilient provider execution with automatic retries and re-authentication
  • Built-in network diagnostic script (urnetwork_ipinfo.sh)

Environment variables

Variable Requirement Description
-e BUILD='stable'
-e BUILD='nightly'
-e BUILD='jwt'
Optional stable The latest officially tested release. Prioritized for reliability and long-term use.

nightly The most recent development snapshot. Includes new features and fixes but may be unstable.

Default is stable
-e USER_AUTH <EMAIL>
and
-e PASSWORD <PASSWORD>
Required for
stable/nightly
build
Your Email and Password.
The container will exit if not provided.
<AUTH-CODE> Required for
jwt
build
Your authentication code.
The container will exit if not provided.
Generate one here: https://ur.io/
-e ENABLE_IP_CHECKER Optional Boolean true/false

Checks and prints your public IPv4 address to stdout visible directly in Docker logs for easy monitoring.

Default is False.
-v /path/to/your/proxy.txt:/app/proxy.txt Optional Mount a proxy configuration file from host to container.
Omit this line entirely if you don't want to use a proxy.
The proxy inside the proxy.txt should have this format ip:port:username:password.
See the sample below. one proxy per line.
Optional 123.456.789.012:55555:myproxyusername:myproxypassword
234.567.890.123:44444:myproxyusername:myproxypassword
345.678.901.234:33333:myproxyusername:myproxypassword
456.789.012.345:22222:myproxyusername:myproxypassword
567.890.123.456:11111:myproxyusername:myproxypassword
-e ENABLE_VNSTAT Optional Boolean true/false

A lightweight tool that logs and reports network bandwidth usage.

Default is True.
-v vnstat_data:/var/lib/vnstat
-p 8080:8080
Optional Stats JSON Portal = http://localhost:port/cgi-bin/stats
Mounts a docker volume vnstat_data to /var/lib/vnstat.
Mounting it ensures data history persists across restarts or image updates.
Each instance needs its own volume and port to avoid overwriting each other’s data.
See the sample below.
Optional -v vnstat_data1:/var/lib/vnstat # for first container
-p 9001:8080 # Host port 9001 # for first container
-v vnstat_data2:/var/lib/vnstat # for second container
-p 9002:8080 # Host port 9002 # for second container

Run with username/password

# Option 1 : amd64 build
docker run -d --platform linux/amd64 \
  --name=urnetwork \
  --cpus=0.25 --pull=always --restart=always \
  --log-driver=json-file --log-opt max-size=1m --log-opt max-file=1 \
  --cap-add=NET_ADMIN --cap-add=NET_RAW --sysctl net.ipv4.ip_forward=1 \
  -e BUILD='stable' \
  -e USER_AUTH='example@gmail.com' \
  -e PASSWORD='mYv3rYsEcUr3dP@sSw0rD' \
  -e ENABLE_IP_CHECKER=false \
  -v /path/to/your/proxy.txt:/app/proxy.txt \
  -e ENABLE_VNSTAT=true \
  -v vnstat_data:/var/lib/vnstat \
  -p 8080:8080 \
  techroy23/docker-urnetwork:latest

# Option 2 : arm64 build
docker run -d --platform linux/arm64 \
  --name=urnetwork \
  --cpus=0.25 --pull=always --restart=always \
  --log-driver=json-file --log-opt max-size=1m --log-opt max-file=1 \
  --cap-add=NET_ADMIN --cap-add=NET_RAW --sysctl net.ipv4.ip_forward=1 \
  -e BUILD='stable' \
  -e USER_AUTH='example@gmail.com' \
  -e PASSWORD='mYv3rYsEcUr3dP@sSw0rD' \
  -e ENABLE_IP_CHECKER=false \
  -v /path/to/your/proxy.txt:/app/proxy.txt \
  -e ENABLE_VNSTAT=true \
  -v vnstat_data:/var/lib/vnstat \
  -p 8080:8080 \
  techroy23/docker-urnetwork:latest

Run with JWT

  • Do not set restart to always, as this may cause account lockouts.
  • Replace <AUTH-CODE> with the code you generated from https://ur.io/
# Option 1 : amd64 build
docker run -d --platform linux/amd64 \
  --name=urnetwork \
  --cpus=0.25 --pull=always \
  --log-driver=json-file --log-opt max-size=1m --log-opt max-file=1 \
  --cap-add=NET_ADMIN --cap-add=NET_RAW --sysctl net.ipv4.ip_forward=1 \
  -e BUILD='jwt' \
  -e ENABLE_IP_CHECKER=false \
  -v /path/to/your/proxy.txt:/app/proxy.txt \
  -e ENABLE_VNSTAT=true \
  -v vnstat_data:/var/lib/vnstat \
  -p 8080:8080 \
  techroy23/docker-urnetwork:latest <AUTH-CODE>

# Option 2 : arm64 build
docker run -d --platform linux/arm64 \
  --name=urnetwork \
  --cpus=0.25 --pull=always \
  --log-driver=json-file --log-opt max-size=1m --log-opt max-file=1 \
  --cap-add=NET_ADMIN --cap-add=NET_RAW --sysctl net.ipv4.ip_forward=1 \
  -e BUILD='jwt' \
  -e ENABLE_IP_CHECKER=false \
  -v /path/to/your/proxy.txt:/app/proxy.txt \
  -e ENABLE_VNSTAT=true \
  -v vnstat_data:/var/lib/vnstat \
  -p 8080:8080 \
  techroy23/docker-urnetwork:latest <AUTH-CODE>

Promo Video

Promo

About

A minimal Docker setup that automatically fetches, updates, and runs the latest urNetwork Provider. The container is built on Alpine Linux, ensuring a minimal footprint. Includes built-in authentication handling, resilient restarts, scheduled in-container updates, and network diagnostics.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors