Skip to content

Conversation

@ndrpp
Copy link
Member

@ndrpp ndrpp commented Jan 13, 2026

Fixes # .

Changes proposed in this PR:

  • update node quickstart script to include UPnP setup
  • automatically detect gpus and add them to docker compute environments

@ndrpp ndrpp marked this pull request as ready for review January 13, 2026 14:03
@alexcos20
Copy link
Member

alexcos20 commented Jan 19, 2026

Intel:

root@liveu-buntu:/repos/ocean/ocean-node# ./scripts/ocean-node-quickstart.sh
Do you have your private key for running the Ocean Node [ y/n ]: y
Enter your private key: XXXXXXXXXXX
Please provide the wallet address to be added as Ocean Node admin account: XXXXXXX
Provide the HTTP_API_PORT value or accept the default (press Enter) [8000]:
Provide the P2P_ipV4BindTcpPort or accept the default (press Enter) [9000]:
Provide the P2P_ipV4BindWsPort or accept the default (press Enter) [9001]:
Provide the P2P_ipV6BindTcpPort or accept the default (press Enter) [9002]:
Provide the P2P_ipV6BindWsPort or accept the default (press Enter) [9003]:
Enable UPnP (useful in case you can no set up port forwarding)? [ y/n ]: y
Provide the public IPv4 address or FQDN where this node will be accessible: 8.8.8.8
Do you want to run docker C2D jobs on your Ocean Node [ y/n ]: y
########################################################
### Docker Engine Compute Environments Configuration ###
########################################################
Check 'ComputeEnvironment' definition for more details on the format
_____________________________________________________

Do you want to add a specific docker environment configuration?
  (Hint: You can enter multiple in JSON format) [ y/n ]: y
Enter the array of docker environment(s):
Setting default DOCKER_COMPUTE_ENVIRONMENTS configuration
Checking for GPUs...
Detected 1 GPU type(s). Updating configuration...
GPUs added to Compute Environment resources.
[ { "socketPath": "/var/run/docker.sock", "resources": [ { "id": "disk", "total": 10 }, { "id": "intel-corporation-arrow-lake-p-intel-graphics", "description": "Intel Corporation Arrow Lake-P [Intel Graphics]", "type": "gpu", "total": 1, "init": { "deviceRequests": { "DeviceIDs": [ "0000:00:02.0" ], "Capabilities": [ [ "gpu" ] ] } } } ], "storageExpiry": 604800, "maxJobDuration": 36000, "minJobDuration": 60, "fees": { "1": [ { "feeToken": "0x123", "prices": [ { "id": "cpu", "price": 1 } ] } ] }, "free": { "maxJobDuration": 360000, "minJobDuration": 60, "maxJobs": 3, "resources": [ { "id": "cpu", "max": 1 }, { "id": "ram", "max": 1 }, { "id": "disk", "max": 1 } ] } } ]
Docker Compose file has been generated successfully.

You are now ready to start your Ocean Node.

1) If further customization is required, edit the docker-compose.yml file.
For all available configurations, refer to the environment variables documentation:
https://github.com/oceanprotocol/ocean-node/blob/main/docs/env.md

2) Start your Ocean Node by running the command:
docker-compose up -d

3) Allow and forward the following incoming TCP ports through the firewall to the Ocean Node host:
HTTP API Port: 8000
P2P IPv4 TCP Port: 9000
P2P IPv4 WebSocket Port: 9001
P2P IPv6 TCP Port: 9002
P2P IPv6 WebSocket Port: 9003

which is not correct, as it's not including the device.
Correct config looks like:

{
resources:
[
{id:"GPU-abcdef1234567890",
type:"gpu",
total:1,
init":{
      advanced:{
         Devices:["/dev/dri"],
         GroupAdd:["render"]
       }
 }
 }]

In case of multiple gpus, each one has it's own set of devices, like '/dev/dri/card1' and /dev/dri/renderD128 for card 1, '/dev/dri/card2' and /dev/dri/renderD129 for card2

Copy link
Member

@alexcos20 alexcos20 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my comments

@alexcos20
Copy link
Member

same for AMD, you are not passing the devices

@alexcos20
Copy link
Member

alexcos20 commented Jan 19, 2026

Nvidia: it does not detect anything:

root@gpu-1:/repos/ocean2/ocean-node# git checkout feat/158-node-install-script-updates
Branch 'feat/158-node-install-script-updates' set up to track remote branch 'feat/158-node-install-script-updates' from 'origin'.
Switched to a new branch 'feat/158-node-install-script-updates'
root@gpu-1:/repos/ocean2/ocean-node# ./scripts/ocean-node-quickstart.sh
Do you have your private key for running the Ocean Node [ y/n ]: y
Enter your private key: XXXXXXX
Please provide the wallet address to be added as Ocean Node admin account: XXXXXXXX
Provide the HTTP_API_PORT value or accept the default (press Enter) [8000]:
Provide the P2P_ipV4BindTcpPort or accept the default (press Enter) [9000]:
Provide the P2P_ipV4BindWsPort or accept the default (press Enter) [9001]:
Provide the P2P_ipV6BindTcpPort or accept the default (press Enter) [9002]:
Provide the P2P_ipV6BindWsPort or accept the default (press Enter) [9003]:
Enable UPnP (useful in case you can no set up port forwarding)? [ y/n ]: y
Provide the public IPv4 address or FQDN where this node will be accessible: 8.8.8.8
Do you want to run docker C2D jobs on your Ocean Node [ y/n ]: y
########################################################
### Docker Engine Compute Environments Configuration ###
########################################################
Check 'ComputeEnvironment' definition for more details on the format
_____________________________________________________

Do you want to add a specific docker environment configuration?
  (Hint: You can enter multiple in JSON format) [ y/n ]: y
Enter the array of docker environment(s):
Setting default DOCKER_COMPUTE_ENVIRONMENTS configuration
Skipping GPU detection (script not found or jq missing).
[ { "socketPath": "/var/run/docker.sock", "resources": [ { "id": "disk", "total": 10 } ], "storageExpiry": 604800, "maxJobDuration": 36000, "minJobDuration": 60, "fees": { "1": [ { "feeToken": "0x123", "prices": [ { "id": "cpu", "price": 1 } ] } ] }, "free": { "maxJobDuration": 360000, "minJobDuration": 60, "maxJobs": 3, "resources": [ { "id": "cpu", "max": 1 }, { "id": "ram", "max": 1 }, { "id": "disk", "max": 1 } ] } } ]
Docker Compose file has been generated successfully.

You are now ready to start your Ocean Node.

1) If further customization is required, edit the docker-compose.yml file.
For all available configurations, refer to the environment variables documentation:
https://github.com/oceanprotocol/ocean-node/blob/main/docs/env.md

2) Start your Ocean Node by running the command:
docker-compose up -d

3) Allow and forward the following incoming TCP ports through the firewall to the Ocean Node host:
HTTP API Port: 8000
P2P IPv4 TCP Port: 9000
P2P IPv4 WebSocket Port: 9001
P2P IPv6 TCP Port: 9002
P2P IPv6 WebSocket Port: 9003

root@gpu-1:/repos/ocean2/ocean-node# nvidia-smi
Mon Jan 19 05:56:33 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.06              Driver Version: 580.65.06      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1060 3GB    On  |   00000000:01:00.0 Off |                  N/A |
|  0%   35C    P8              6W /  120W |       3MiB /   3072MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
root@gpu-1:/repos/ocean2/ocean-node#

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants