Umbrel docker not compatible with armv7
oijkn opened this issue · comments
Hello, I'm trying to run Docker version of the Umbrel OS because I have already stuff installed on my RPI 4.
But that doesn't work when I run ./scripts/start
because some Docker images are not build for 32 bit architecture like armv7.
So I tried to build these missing images (see the docker-compose file below) for the armv7 architecture. According to the logs it seems that the mempool
docker has a problem with mariadb
which does not have an armv7 manifest. i will try to build a docker in armv7. Where in the code can I modify the pulling from library/mariadb
?
The stack starts well and I can access to the dashboard.
Here are the images compiled for armv7 :
image: oijkn/umbrel-tor-server:0.4.6.8
image: oijkn/umbrel-lnd:v0.14.2-beta
image: oijkn/umbrel-electrs:v0.9.4
Currently I'm having trouble installing the mempool
app, the install button keeps looping with installing
. On the other hand I was able to install BTC RPC Explorer
without any problem, but logs show some problems.
version: '3.7'
services:
tor_proxy:
container_name: tor
image: lncm/tor:0.4.5.7@sha256:a83e0d9fd1a35adf025f2f34237ec1810e2a59765988dce1dfb222ca8ef6583c
user: toruser
restart: on-failure
volumes:
- ${PWD}/tor/torrc-proxy:/etc/tor/torrc
- ${PWD}/tor/data:/var/lib/tor/
ports:
- "127.0.0.1:$TOR_PROXY_PORT:$TOR_PROXY_PORT"
networks:
default:
ipv4_address: $TOR_PROXY_IP
tor_server:
#image: getumbrel/tor-server:0.4.6.8@sha256:a81797e4a6b0c4709dd6f7c5543ab99e318af329bdf728c5b267f412c51b9a31
image: oijkn/umbrel-tor-server:0.4.6.8
restart: on-failure
volumes:
- ${PWD}/tor/torrc-server:/torrc
- ${PWD}/tor/data:/data
environment:
HS_PER_PROCESS: "10"
networks:
default:
ipv4_address: $TOR_SERVER_IP
nginx:
container_name: nginx
image: nginx:1.17.8@sha256:380eb808e2a3b0dd954f92c1cae2f845e6558a15037efefcabc5b4e03d666d03
depends_on: [ dashboard, manager ]
volumes:
- ${PWD}/nginx:/etc/nginx
restart: on-failure
stop_grace_period: 30s
ports:
- "${NGINX_PORT}:80"
networks:
default:
ipv4_address: $NGINX_IP
bitcoin:
container_name: bitcoin
image: lncm/bitcoind:v22.0@sha256:37a1adb29b3abc9f972f0d981f45e41e5fca2e22816a023faa9fdc0084aa4507
depends_on: [ tor_proxy, manager, nginx ]
volumes:
- ${PWD}/bitcoin:/data/.bitcoin
restart: on-failure
stop_grace_period: 15m30s
ports:
- "$BITCOIN_P2P_PORT:$BITCOIN_P2P_PORT"
networks:
default:
ipv4_address: $BITCOIN_IP
lnd:
container_name: lnd
image: oijkn/umbrel-lnd:v0.14.2-beta
user: 1000:1000
depends_on: [ tor_proxy, manager ]
volumes:
- ${PWD}/lnd:/data/.lnd
environment:
HOME: /data
restart: on-failure
stop_grace_period: 5m30s
ports:
- "9735:9735"
- "$LND_REST_PORT:$LND_REST_PORT"
- "$LND_GRPC_PORT:$LND_GRPC_PORT"
networks:
default:
ipv4_address: $LND_IP
dashboard:
container_name: dashboard
image: getumbrel/dashboard:v0.3.32@sha256:545d0253653bb6e48b39b09caf34a1ef55484a6dd8644e5f5e8f164977a7af18
restart: on-failure
stop_grace_period: 1m30s
networks:
default:
ipv4_address: $DASHBOARD_IP
manager:
container_name: manager
image: getumbrel/manager:v0.2.19@sha256:d94327034d99ec8121d42b61bbec89f2e1797148c56ef60b7cec17486e6a399d
depends_on: [ tor_proxy ]
restart: on-failure
stop_grace_period: 5m30s
volumes:
- ${PWD}:${PWD}
- ${PWD}/info.json:/info.json
- ${PWD}/db:/db
- ${PWD}/events/signals:/signals
- ${PWD}/apps:/apps
- ${PWD}/lnd:/lnd:ro
- ${PWD}/statuses:/statuses
- ${PWD}/tor/data:/var/lib/tor/
- /var/run/docker.sock:/var/run/docker.sock
- ${DOCKER_BINARY:-/usr/bin/docker}:/usr/bin/docker
- jwt-public-key:/jwt-public-key
- jwt-private-key:/jwt-private-key
environment:
PORT: "3006"
USER_PASSWORD_FILE: "/db/user.json"
JWT_PUBLIC_KEY_FILE: "/jwt-public-key/jwt.pem"
JWT_PRIVATE_KEY_FILE: "/jwt-private-key/jwt.key"
JWT_EXPIRATION: "3600"
DOCKER_COMPOSE_DIRECTORY: $PWD
DEVICE_HOSTS: ${DEVICE_HOSTS:-"http://umbrel.local"}
DEVICE_HOSTNAME: ${DEVICE_HOSTNAME:-""}
MIDDLEWARE_API_URL: "http://$MIDDLEWARE_IP"
UMBREL_SEED_FILE: "/db/umbrel-seed/seed"
UMBREL_DASHBOARD_HIDDEN_SERVICE_FILE: "/var/lib/tor/web/hostname"
BITCOIN_P2P_HIDDEN_SERVICE_FILE: "/var/lib/tor/bitcoin-p2p/hostname"
BITCOIN_P2P_PORT: $BITCOIN_P2P_PORT
BITCOIN_RPC_HIDDEN_SERVICE_FILE: "/var/lib/tor/bitcoin-rpc/hostname"
BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
BITCOIN_RPC_USER: $BITCOIN_RPC_USER
BITCOIN_RPC_PASSWORD: $BITCOIN_RPC_PASS
LND_REST_HIDDEN_SERVICE_FILE: "/var/lib/tor/lnd-rest/hostname"
LND_GRPC_HIDDEN_SERVICE_FILE: "/var/lib/tor/lnd-grpc/hostname"
LND_CERT_FILE: "/lnd/tls.cert"
LND_ADMIN_MACAROON_FILE: "/lnd/data/chain/bitcoin/${BITCOIN_NETWORK}/admin.macaroon"
SHUTDOWN_SIGNAL_FILE: "/signals/shutdown"
REBOOT_SIGNAL_FILE: "/signals/reboot"
GITHUB_REPO: "getumbrel/umbrel"
UMBREL_VERSION_FILE: "/info.json"
UPDATE_STATUS_FILE: "/statuses/update-status.json"
UPDATE_SIGNAL_FILE: "/signals/update"
UPDATE_LOCK_FILE: "/statuses/update-in-progress"
BACKUP_STATUS_FILE: "/statuses/backup-status.json"
DEBUG_STATUS_FILE: "/statuses/debug-status.json"
TOR_PROXY_IP: "${TOR_PROXY_IP}"
TOR_PROXY_PORT: "${TOR_PROXY_PORT}"
TOR_HIDDEN_SERVICE_DIR: "/var/lib/tor"
IS_UMBREL_OS: ${IS_UMBREL_OS:-"false"}
networks:
default:
ipv4_address: $MANAGER_IP
middleware:
container_name: middleware
image: getumbrel/middleware:v0.1.15@sha256:b8a64ba65c314be6288decef6c87086f04a371b1a82c07599b98b67a7422f9fa
depends_on: [ manager, bitcoin, lnd ]
command: ["./wait-for-node-manager.sh", $MANAGER_IP, "npm", "start"]
restart: on-failure
volumes:
- ${PWD}/lnd:/lnd
- jwt-public-key:/jwt-public-key
environment:
PORT: "3005"
BITCOIN_HOST: $BITCOIN_IP
RPC_PORT: $BITCOIN_RPC_PORT
RPC_USER: $BITCOIN_RPC_USER
RPC_PASSWORD: $BITCOIN_RPC_PASS
LND_NETWORK: $BITCOIN_NETWORK
LND_HOST: "${LND_IP}"
JWT_PUBLIC_KEY_FILE: "/jwt-public-key/jwt.pem"
DEVICE_HOSTS: ${DEVICE_HOSTS:-"http://umbrel.local"}
networks:
default:
ipv4_address: $MIDDLEWARE_IP
neutrino-switcher:
container_name: neutrino-switcher
image: getumbrel/neutrino-switcher:v1.3.0@sha256:399ccea7f39129ff16c9c408f9e68a01dd4671f428273f3c3f401a8a0d2f7ddc
depends_on: [ bitcoin, lnd ]
restart: on-failure
volumes:
- ${PWD}/lnd:/lnd
- ${PWD}/statuses:/statuses
- /var/run/docker.sock:/var/run/docker.sock
environment:
JSONRPCURL: "http://${BITCOIN_IP}:${BITCOIN_RPC_PORT}"
RPCUSER: $BITCOIN_RPC_USER
RPCPASS: $BITCOIN_RPC_PASS
LND_CONTAINER_NAME: lnd
SLEEPTIME: 3600
networks:
default:
ipv4_address: $NEUTRINO_SWITCHER_IP
electrs:
container_name: electrs
image: oijkn/umbrel-electrs:v0.9.4
volumes:
- ${PWD}/bitcoin:/data/.bitcoin:ro
- ${PWD}/electrs:/data
restart: on-failure
stop_grace_period: 5m
ports:
- "$ELECTRUM_PORT:$ELECTRUM_PORT"
networks:
default:
ipv4_address: $ELECTRUM_IP
networks:
default:
name: umbrel_main_network
ipam:
driver: default
config:
- subnet: "$NETWORK_IP/24"
volumes:
jwt-public-key:
jwt-private-key:
Troubleshoot log :
sent 133 bytes received 15 bytes 296.00 bytes/sec
total size is 1,997 speedup is 13.49
Pulling images for app mempool...
Pulling mariadb ...
Pulling web ...
Pulling api ...
Pulling api ... pulling from mempool/backend
Pulling web ... pulling from mempool/frontend
Pulling web ... digest: sha256:38c955caeb58014b26...
Pulling web ... status: image is up to date for m...
Pulling api ... digest: sha256:f7b16a6b00ea8aabf3...
Pulling api ... status: image is up to date for m...
Pulling web ... done
Pulling api ... done
Pulling mariadb ... pulling from library/mariadb
ERROR: for mariadb no matching manifest for linux/arm/v7 in the manifest list entries
no matching manifest for linux/arm/v7 in the manifest list entries
Got signal: debug
karen is getting triggered!
btc-rpc-explorer
web_1 | 2022-06-06T11:20:06.454Z btcexp:errorVerbose Stack: Error: close connect
web_1 | at /data/node_modules/electrum-client/lib/client.js:192:37
web_1 | at Array.forEach (<anonymous>)
web_1 | at ElectrumClient.onClose (/data/node_modules/electrum-client/lib/client.js:191:44)
web_1 | at ElectrumClient.onClose (/data/node_modules/electrum-client/index.js:69:9)
web_1 | at Socket.<anonymous> (/data/node_modules/electrum-client/lib/client.js:68:9)
web_1 | at Socket.emit (events.js:314:20)
web_1 | at TCP.<anonymous> (net.js:675:12)
web_1 | 2022-06-06T11:36:04.918Z btcexp:app Skipping performance-intensive task: fetch last 24 hrs of blockstats to calculate transaction volume. This is skipped due to the flag 'slowDeviceMode' which defaults to 'true' to protect slow nodes. Set this flag to 'false' to enjoy UTXO set summary details.
web_1 | 2022-06-06T11:36:04.933Z btcexp:app Skipping performance-intensive task: fetch UTXO set summary. This is skipped due to the flag 'slowDeviceMode' which defaults to 'true' to protect slow nodes. Set this flag to 'false' to enjoy UTXO set summary details.
web_1 | 2022-06-06T11:49:28.373Z btcexp:error Error 937gf47dsyde: Error: close connect, json: {}, userData: [object Object] (json: {"host":"10.21.21.10","port":50001,"protocol":"tcp"})
web_1 | 2022-06-06T11:49:28.374Z btcexp:errorVerbose Stack: Error: close connect
web_1 | at /data/node_modules/electrum-client/lib/client.js:192:37
web_1 | at Array.forEach (<anonymous>)
web_1 | at ElectrumClient.onClose (/data/node_modules/electrum-client/lib/client.js:191:44)
web_1 | at ElectrumClient.onClose (/data/node_modules/electrum-client/index.js:69:9)
web_1 | at Socket.<anonymous> (/data/node_modules/electrum-client/lib/client.js:68:9)
web_1 | at Socket.emit (events.js:314:20)
web_1 | at TCP.<anonymous> (net.js:675:12)
web_1 | 2022-06-06T12:06:04.918Z btcexp:app Skipping performance-intensive task: fetch last 24 hrs of blockstats to calculate transaction volume. This is skipped due to the flag 'slowDeviceMode' which defaults to 'true' to protect slow nodes. Set this flag to 'false' to enjoy UTXO set summary details.
web_1 | 2022-06-06T12:06:04.933Z btcexp:app Skipping performance-intensive task: fetch UTXO set summary. This is skipped due to the flag 'slowDeviceMode' which defaults to 'true' to protect slow nodes. Set this flag to 'false' to enjoy UTXO set summary details.
web_1 | 2022-06-06T12:22:31.021Z btcexp:error Error 937gf47dsyde: Error: close connect, json: {}, userData: [object Object] (json: {"host":"10.21.21.10","port":50001,"protocol":"tcp"})
web_1 | 2022-06-06T12:22:31.025Z btcexp:errorVerbose Stack: Error: close connect
web_1 | at /data/node_modules/electrum-client/lib/client.js:192:37
web_1 | at Array.forEach (<anonymous>)
web_1 | at ElectrumClient.onClose (/data/node_modules/electrum-client/lib/client.js:191:44)
web_1 | at ElectrumClient.onClose (/data/node_modules/electrum-client/index.js:69:9)
web_1 | at Socket.<anonymous> (/data/node_modules/electrum-client/lib/client.js:68:9)
web_1 | at Socket.emit (events.js:314:20)
web_1 | at TCP.<anonymous> (net.js:675:12)