Deploy as a Container

This topic covers how to deploy the Hydden Client as a container.

Prerequisite

Either install or verify that you have access to a container-based system that can host container images such as Docker.

If you need to set up Docker, refer to Overview of Docker. Hydden recommends using the Docker Toolbox when running Docker.

Deploying the Container

  1. Run the Hydden client container image interactively:

    docker run -p33101:22101 --name hydn-client --hostname Hydn-Container --rm -ti ghcr.io/hyddenio/hydn:latest

    You can also run the Hydden client container image detached using the -d switch

    docker run -d -p33101:22101 --name hydn-client --hostname Hydn-Container --rm -ti ghcr.io/hyddenio/hydn:latest

    Where:

    • p33101:22101, is the port designation parameter. 33101 is the container’s external port that maps to the container’s internal port, the default internal Hydden client port (22101).
    • hostname is set to Hydn-Container, which is the hostname of the container running the client software. Hydden recommends using a unique name reflecting the installation environments to differentiate between the containers.
    • ghcr.io/hyddenio/hydn:latest, is the image reference for the installation.
  2. You will see the following output:

    2024-04-09T23:22:04.317Z        INFO      Starting Hydden Client  {"pid": 1, "version": "0.5.525"}
    2024-04-09T23:22:04.323Z        INFO      Hostname      {"pid": 1, "hostname": "Hydn-Container", "ncpu": 1, "maxprocs": 1}
    2024-04-09T23:22:04.326Z        INFO      Working Directory     {"pid": 1, "path": "/var/opt/Hydden/hydn"}
    2024-04-09T23:22:04.329Z        INFO      Data path     {"pid": 1, "path": "/var/opt/Hydden/hydn", "size": "97.4GB", "free": "73.8GB"}
    2024-04-09T23:22:04.332Z        INFO      Config path   {"pid": 1, "path": "/etc/opt/Hydden/hydn", "size": "97.4GB", "free": "73.8GB"}
    2024-04-09T23:22:04.334Z        INFO      Binary path   {"pid": 1, "path": "/opt/hydden/bin", "size": "97.4GB", "free": "73.8GB"}
    2024-04-09T23:22:04.337Z        INFO      User path     {"pid": 1, "path": "/root/.hydn", "size": "97.4GB", "free": "73.8GB"}
    2024-04-09T23:22:04.340Z        INFO      Identity      {"pid": 1, "grid": "000000000000000000000000000", "operator": "000000000000000000000000000", "tenant": "000000000000000000000000000", "node": "N4c1tp7Q5O5e5cNTutcjmGnrzbW"}
    2024-04-09T23:22:04.342Z        INFO      Advertising external addresses        {"pid": 1, "address": ["Hydn-Container"]}
    2024-04-09T23:22:04.344Z        INFO      Advertising internal addresses        {"pid": 1, "address": ["Hydn-Container", "172.17.0.2", "127.0.0.1"]}
    2024-04-09T23:22:04.345Z        INFO      Enabled modules       {"pid": 1, "modules": ["bootstrap"]}
    2024-04-09T23:22:04.347Z        INFO    Starting module {"pid": 1, "tid": "000000000000000000000000000", "module": "bootstrap"}
  3. You can validate the service is running using the following command:

       docker container ls -a |grep hydn

    You will see output like this:

       e42e4369ddfc   ghcr.io/hyddenio/hydn:latest       "/opt/hydden/bin/hydn"   5 days ago   Up 5 days   22100/tcp, 22102-22104/tcp, 0.0.0.0:22111->22101/tcp, :::22111->22101/tcp   hydn-client1
       8e479439b7eb   ghcr.io/hyddenio/hydn:latest       "/opt/hydden/bin/hydn"   5 days ago   Up 5 days   22100/tcp, 22102-22104/tcp, 0.0.0.0:33101->22101/tcp, :::33101->22101/tcp   hydn-client2

To register the client, refer to the Register a Client topic.