On this page

    1. Home
    2. Getting Started
    3. Providing
    4. Docker Providing
    Danger

    PAGE NOT FINISHED: TEMPORARY PLACEHOLDER PAGE. INSTRUCTIONS MAY BE WRONG!!!

    Providing for URnetwork with Docker

    This guide explains how to deploy a URnetwork Provider using Docker.


    Prerequisites

    • Docker installed on your host machine.
    • A URnetwork Account. Register at https://ur.io/

    1. Get Your Credentials

    To run the container, you must authenticate using one of the following methods:

    Option A: Account Credentials

    • Email or Mobile Phone: The email address or mobile number linked to your URnetwork account
    • Password: Your URnetwork account password

    Option B: JWT Authentication

    • Auth Code: A valid JSON Web Token (JWT) issued for your URnetwork account. Generate one here: https://ur.io/, https://app.ur.network/ or inside the app (see screenshots). Auth Codes expire after a set time and are usually one time use unless set otherwise.

    2. Proxy Setup (Optional)

    URnetwork supports only SOCKS5 proxies. To use proxies, create a proxy.txt file on your host machine. (

    • Format: ip:port:username:password (One proxy per line).

    Example:

    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
    
    • You will link this file to the container using the -v flag in the commands below.

    3. Deployment Options

    Identifying your Architecture

    Before starting, identify which architecture line to use. Run uname -m in your terminal:

    • If it returns x86_64, use Option 1 (amd64).
    • If it returns aarch64, use Option 2 (arm64).

    Run with username/password

    Option 1: amd64 build (Standard Intel or AMD PC/VPS)

    docker run -d --platform linux/amd64 \
      --name=urnetwork \
      --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 (ARM Server / Raspberry Pi)

    docker run -d --platform linux/arm64 \
      --name=urnetwork \
      --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 (Standard Intel or AMD PC/VPS)

    docker run -d --platform linux/amd64 \
      --name=urnetwork --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 (ARM Server / Raspberry Pi)

    docker run -d --platform linux/arm64 \
      --name=urnetwork --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>

    4. Configuration Details

    VariableRequirementDescription
    -e BUILD='stable'
    -e BUILD='nightly'
    -e BUILD='jwt'
    Optionalstable 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_CHECKEROptionalBoolean 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.txtOptionalMount 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.
    Optional123.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_VNSTATOptionalBoolean true/false

    A lightweight tool that logs and reports network bandwidth usage.

    Default is True.
    -v vnstat_data:/var/lib/vnstat
    -p 8080:8080
    OptionalStats 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

    5. Monitoring & Maintenance

    Check Status

    Check if your provider is running and authenticated correctly:

    docker logs -f urnetwork

    Updates

    • Nightly builds
      Updates are handled automatically. No manual action is required.

    • Stable builds
      To manually refresh the image:

      docker pull techroy23/docker-urnetwork:stable
      docker stop urnetwork && docker rm urnetwork
      # Re-run your chosen Docker Run command from Step 3


    Powered by Sudoc v2.5.0
    Hide table of contents