Storagenode Docker in Android

Anybody has succesfully setup storagenode docker on a rooted android 10?

I’m trying to install using udocker via termux but getting error.
udocker run
–user $(id -u):$(id -g)
-v /data/data/com.termux/files/home/storj/identity:/app/identity
-v /data/data/com.termux/files/home/storj/storage:/app/config
–name storagenode storjlabs/storagenode:0c21bd6-arm32v5

Info: downloading layer sha256:7c6889adfdae92f86104edc8e10ae74e4531b5a825f6725372b06ce5b9fb4198
Info: downloading layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Info: downloading layer sha256:2fe89749fab8e04ba8934101578475b5331f353f10e5dff80905c52887e9e9a3
Info: downloading layer sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1
Info: downloading layer
sha256:0077c0f814b75e8f1698c6e25f1973d7d2ff625dc6f7371e6554f50c4a30c48b
Info: downloading layer
sha256: d5e183de34135e59df1fb35fe99fd8f0ff01fb8dd6f4bcd8230cef155d69918b
Info: downloading layer sha256:2512702be3e64eb0c6c6df6433cd9a494bcc4a4268219e602a1d96398e75dbf7
Info: downloading layer sha256:293e11e626722a06212ad085d1c3ebfd80770524ef4018a75637ffb67001bf73
Info: downloading layer sha256:3e6f9bd2c89237a7b34ed3b51ac53244efe7e6d44046c8f6893c9a68180e89a1
1070412161600107705-
Info: downloading layer sha256:46e45ca028a61f5757f575934bbe33f748a837f25e5ec1d74d13164b9e18778f
Info: downloading layer sha256:187ecffbd1e0eae5de6567dff32bd58f28623635657779760c9d9539d6b7cc59
Error: image or container not available

anybody have idea about this? thanks in advance.

Do you plan to reverse tethering via usb cable to connect to the internet? Wifi won’t scale well if you plan to have several nodes…

It’s an android stb with ethernet connection.

1 Like

Hello @thirdrix ,
Welcome to the forum!

Do you know - can your device support arm64? If so, I would like to recommend to try to use a :latest tag.

$ adb shell getprop ro.product.cpu.abi
armeabi-v7a

unfortunately, i think my device only support ARMv7 and not ARM64.

I see, the 32 bit version is included to the latest, so did you try to use latest?

yes i’ve tried the latest.

udocker --debug run --rm
-e SETUP=“true”
–user $(id -u):$(id -g)
-v /data/data/com.termux/files/home/storj/identity:/app/identity
-v /data/data/com.termux/files/home/storj/storage:/app/config
–name storagenode storjlabs/storagenode:latest

====================================================================

Debug: using curl executable
Debug: Localrepo homedir is /home/.udocker
Debug: using curl executable
Debug: already installed, installation skipped
Debug: Set registry URL False
Debug: get imagerepo: storjlabs/storagenode tag: latest
Debug: call: [‘curl’, ‘–connect-timeout’, ‘6’, ‘-m’, ‘12’, ‘-s’, ‘-q’, ‘-S’, ‘-D’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-2d0443b0-b04f-35eb-b7a5-f53c3d9f2b98-execurl_hdr’, ‘-o’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-ba1e0693-7dd8-3226-bc9a-3c478eccbefa-execurl_out’, ‘–stderr’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-94be7d78-a41b-3184-9433-06856be7ecc5-execurl_err’, ‘URL_REMOVED’]
Debug: header: {‘X-ND-HTTPSTATUS’: ‘HTTP/1.1 401 Unauthorized’, ‘X-ND-CURLSTATUS’: 0, ‘content-type’: ‘application/json’, ‘docker-distribution-api-version’: ‘registry/2.0’, ‘www-authenticate’: ‘Bearer realm=“URL_REMOVED”,service=“registry.docker.io”’, ‘date’: ‘Tue, 16 Jul 2024 01:14:00 GMT’, ‘content-length’: ‘87’, ‘strict-transport-security’: ‘max-age=31536000’}
Debug: buffer: b’{“errors”:[{“code”:“UNAUTHORIZED”,“message”:“authentication required”,“detail”:null}]}\n’
Debug: call: [‘curl’, ‘-H’, ‘Authorization: Basic dGhpcmRyaXhAZ21haWwuY29tOlBAc3N3MHJkMTIz’, ‘–connect-timeout’, ‘6’, ‘-m’, ‘12’, ‘-s’, ‘-q’, ‘-S’, ‘-D’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-c8f1b7c1-84b7-3256-8ecf-326d9b583a9c-execurl_hdr’, ‘-o’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-5dcd6592-5cdd-38b0-9d86-aca688cef97b-execurl_out’, ‘–stderr’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-cb7dff70-5936-3115-bc5a-11deb30daebc-execurl_err’, ‘URL_REMOVED’]
Debug: header: {‘X-ND-HTTPSTATUS’: ‘HTTP/1.1 200 OK’, ‘X-ND-CURLSTATUS’: 0, ‘content-type’: ‘application/json’, ‘x-trace-id’: ‘89372322dd8d008adcbcbbab3928820e’, ‘date’: ‘Tue, 16 Jul 2024 01:14:01 GMT’, ‘transfer-encoding’: ‘chunked’, ‘strict-transport-security’: ‘max-age=31536000’, ‘X-ND-HEADERS’: [‘Authorization: Basic dGhpcmRyaXhAZ21haWwuY29tOlBAc3N3MHJkMTIz’]}
Debug: buffer: b’{“token”:" …“,“access_token”:” …“,“expires_in”:300,“issued_at”:“2024-07-16T01:14:01.089161744Z”}\n’
Debug: call: [‘curl’, ‘-H’, ‘Authorization: Bearer …’, ‘–connect-timeout’, ‘6’, ‘-m’, ‘12’, ‘-s’, ‘-q’, ‘-S’, ‘-D’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-38f075d1-701d-31ed-9632-e819358d17c9-execurl_hdr’, ‘-o’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-4a9e3444-332a-3fa3-92cc-b10bc82ae1b2-execurl_out’, ‘–stderr’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-d9f23992-02cb-3faa-b069-dfde98bce1a7-execurl_err’, ‘URL_REMOVED’]
Debug: header: {‘X-ND-HTTPSTATUS’: ‘HTTP/1.1 200 OK’, ‘X-ND-CURLSTATUS’: 0, ‘content-length’: ‘2’, ‘content-type’: ‘application/json’, ‘docker-distribution-api-version’: ‘registry/2.0’, ‘date’: ‘Tue, 16 Jul 2024 01:14:01 GMT’, ‘strict-transport-security’: ‘max-age=31536000’, ‘X-ND-HEADERS’: [‘Authorization: Bearer …’]}
Debug: buffer: b’{}’
Debug: manifest url URL_REMOVED
Debug: call: [‘curl’, ‘-H’, ‘Accept: application/vnd.docker.distribution.manifest.v2+json’, ‘-H’, ‘Accept: application/vnd.docker.distribution.manifest.v1+prettyjws’, ‘-H’, ‘Accept: application/json’, ‘-H’, ‘Accept: application/vnd.docker.distribution.manifest.list.v2+json’, ‘-H’, ‘Accept: application/vnd.oci.image.manifest.v1+json’, ‘-H’, ‘Accept: application/vnd.oci.image.index.v1+json’, ‘–connect-timeout’, ‘6’, ‘-m’, ‘12’, ‘-s’, ‘-q’, ‘-S’, ‘-D’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-c2095055-4285-33c7-9b7c-c7fd229443eb-execurl_hdr’, ‘-o’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-44cccabc-d0c4-335d-b608-e91d1d6dc38e-execurl_out’, ‘–stderr’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-fd558c35-8019-3c63-9433-2e3e4b2f6edd-execurl_err’, ‘URL_REMOVED’]
Debug: header: {‘X-ND-HTTPSTATUS’: ‘HTTP/1.1 401 Unauthorized’, ‘X-ND-CURLSTATUS’: 0, ‘content-type’: ‘application/json’, ‘docker-distribution-api-version’: ‘registry/2.0’, ‘www-authenticate’: ‘Bearer realm=“URL_REMOVED”,service=“registry.docker.io”,scope=“repository:storjlabs/storagenode:pull”’, ‘date’: ‘Tue, 16 Jul 2024 01:14:02 GMT’, ‘content-length’: ‘164’, ‘strict-transport-security’: ‘max-age=31536000’, ‘docker-ratelimit-source’: ‘14.102.171.218’, ‘X-ND-HEADERS’: [‘Accept: application/vnd.docker.distribution.manifest.v2+json’, ‘Accept: application/vnd.docker.distribution.manifest.v1+prettyjws’, ‘Accept: application/json’, ‘Accept: application/vnd.docker.distribution.manifest.list.v2+json’, ‘Accept: application/vnd.oci.image.manifest.v1+json’, ‘Accept: application/vnd.oci.image.index.v1+json’]}
Debug: buffer: b’{“errors”:[{“code”:“UNAUTHORIZED”,“message”:“authentication required”,“detail”:[{“Type”:“repository”,“Class”:”“,“Name”:“storjlabs/storagenode”,“Action”:“pull”}]}]}\n’
Debug: call: [‘curl’, ‘-H’, ‘Authorization: Basic dGhpcmRyaXhAZ21haWwuY29tOlBAc3N3MHJkMTIz’, ‘–connect-timeout’, ‘6’, ‘-m’, ‘12’, ‘-s’, ‘-q’, ‘-S’, ‘-D’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-01d734a2-7ce0-3d05-9d18-55eecd90b9dd-execurl_hdr’, ‘-o’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-72bbcc7a-576b-36ea-8862-152a54c66751-execurl_out’, ‘–stderr’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-e73a539f-728c-3ec8-8b71-35ed002e4bae-execurl_err’, ‘URL_REMOVED’]
Debug: header: {‘X-ND-HTTPSTATUS’: ‘HTTP/1.1 200 OK’, ‘X-ND-CURLSTATUS’: 0, ‘content-type’: ‘application/json’, ‘x-trace-id’: ‘16722e1a2c1786dfd1b6be2ba2b05092’, ‘date’: ‘Tue, 16 Jul 2024 01:14:03 GMT’, ‘transfer-encoding’: ‘chunked’, ‘strict-transport-security’: ‘max-age=31536000’, ‘X-ND-HEADERS’: [‘Authorization: Basic dGhpcmRyaXhAZ21haWwuY29tOlBAc3N3MHJkMTIz’]}
Debug: buffer: b’{“token”:” …“,“access_token”:”…"}\n’
Debug: call: [‘curl’, ‘-H’, ‘Accept: application/vnd.docker.distribution.manifest.v2+json’, ‘-H’, ‘Accept: application/vnd.docker.distribution.manifest.v1+prettyjws’, ‘-H’, ‘Accept: application/json’, ‘-H’, ‘Accept: application/vnd.docker.distribution.manifest.list.v2+json’, ‘-H’, ‘Accept: application/vnd.oci.image.manifest.v1+json’, ‘-H’, ‘Accept: application/vnd.oci.image.index.v1+json’, ‘-H’, ‘Authorization: Bearer …’, ‘–connect-timeout’, ‘6’, ‘-m’, ‘12’, ‘-s’, ‘-q’, ‘-S’, ‘-D’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-c3992642-fc95-30b3-b9b6-6af3087a14b2-execurl_hdr’, ‘-o’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-bb702b06-670f-31e6-9452-3ab9ca504e5c-execurl_out’, ‘–stderr’, ‘/data/data/com.termux/files/usr/tmp/udocker-6263-e01c22bb-55a5-382f-81a3-9550c2f2206c-execurl_err’, ‘URL_REMOVED’]
Debug: header: {‘X-ND-HTTPSTATUS’: ‘HTTP/1.1 200 OK’, ‘X-ND-CURLSTATUS’: 0, ‘content-length’: ‘1108’, ‘content-type’: ‘application/vnd.docker.distribution.manifest.list.v2+json’, ‘docker-content-digest’: ‘sha256:92bead04118c85fb68c754594b3b7e6f518809be709aef3ab8c824f56ad46810’, ‘docker-distribution-api-version’: ‘registry/2.0’, ‘etag’: ‘“sha256:92bead04118c85fb68c754594b3b7e6f518809be709aef3ab8c824f56ad46810”’, ‘date’: ‘Tue, 16 Jul 2024 01:14:04 GMT’, ‘strict-transport-security’: ‘max-age=31536000’, ‘ratelimit-limit’: ‘200;w=21600’, ‘ratelimit-remaining’: ‘197;w=21600’, ‘docker-ratelimit-source’: ‘fa690070-ac63-4213-99f0-03156b4d0c6a’, ‘X-ND-HEADERS’: [‘Accept: application/vnd.docker.distribution.manifest.v2+json’, ‘Accept: application/vnd.docker.distribution.manifest.v1+prettyjws’, ‘Accept: application/json’, ‘Accept: application/vnd.docker.distribution.manifest.list.v2+json’, ‘Accept: application/vnd.oci.image.manifest.v1+json’, ‘Accept: application/vnd.oci.image.index.v1+json’, ‘Authorization: Bearer …’]}
Debug: buffer: b’{\n “schemaVersion”: 2,\n “mediaType”: “application/vnd.docker.distribution.manifest.list.v2+json”,\n “manifests”: [\n {\n “mediaType”: “application/vnd.docker.distribution.manifest.v2+json”,\n “size”: 2403,\n “digest”: “sha256:bd9ba74471944d76e335ee817264d879b75ca731fdc8cce73b90c7114d076420”,\n “platform”: {\n “architecture”: “amd64”,\n “os”: “linux”\n }\n },\n {\n “mediaType”: “application/vnd.docker.distribution.manifest.v2+json”,\n “size”: 2403,\n “digest”: “sha256:9eaa24ffd4ed7123aaa64b4a02ec86a9ec0165a15a816f0790fcda3bc5257e54”,\n “platform”: {\n “architecture”: “arm”,\n “os”: “linux”,\n “variant”: “v5”\n }\n },\n {\n “mediaType”: “application/vnd.docker.distribution.manifest.v2+json”,\n “size”: 2403,\n “digest”: “sha256:44ec88b676be394ca360faa8205881c31cd458f8bfcecae6ba53ee6e1bfe60d3”,\n “platform”: {\n “architecture”: “arm64”,\n “os”: “linux”,\n “variant”: “v8”\n }\n }\n ]\n}’

====================================================

no image found in manifest for platform (linux/arm/v4) no manifest for given image and platform
Error: no files downloaded
Error: image or container not available

Oh, it’s

we have only

hm.
Could you please try to provide a platform directly?

udocker --debug run --rm \
-e SETUP="true" \
--platform "linux/arm/v5" \
--user $(id -u):$(id -g) \
-v /data/data/com.termux/files/home/storj/identity:/app/identity \
-v /data/data/com.termux/files/home/storj/storage:/app/config \
--name storagenode storjlabs/storagenode:latest