diff --git a/stage2/04-docker-compose/01-run.sh b/stage2/04-docker-compose/01-run.sh index 4fee0ed..acf9e65 100755 --- a/stage2/04-docker-compose/01-run.sh +++ b/stage2/04-docker-compose/01-run.sh @@ -1,17 +1,20 @@ # Install docker via pip3 (within chroot) +echo "Installing docker-compose from pip3, and also setting up the box folder structure" + on_chroot << EOF pip3 install docker-compose +cd /home/${FIRST_USER_NAME} +wget -qO- "https://raw.githubusercontent.com/lncm/thebox-compose-system/master/install-box.sh" | sh +chown -R ${FIRST_USER_NAME}.${FIRST_USER_NAME} /home/${FIRST_USER_NAME} EOF # Maybe generate docker-compose file so we can use it -chmod 644 files/docker-compose.yml chmod 755 files/compose-service -cp files/docker-compose.yml ${ROOTFS_DIR}/home/${FIRST_USER_NAME}/docker-compose.yml +# These can be probabably removed cp files/umbrel-createwallet.py ${ROOTFS_DIR}/home/${FIRST_USER_NAME}/umbrel-createwallet.py cp files/umbrel-unlock.py ${ROOTFS_DIR}/home/${FIRST_USER_NAME}/umbrel-unlock.py -cp -fr files/build ${ROOTFS_DIR}/home/${FIRST_USER_NAME} # Docker compose service on_chroot << EOF @@ -27,7 +30,6 @@ EOF echo "Copying the compose service to rootfs (etc/init.d)" cp files/compose-service ${ROOTFS_DIR}/etc/init.d/umbrelbox -cp files/compose-service ${ROOTFS_DIR}/home/${FIRST_USER_NAME}/umbrelbox on_chroot << EOF cd /etc/rc2.d diff --git a/stage2/04-docker-compose/files/build/lnd-unlock/Dockerfile b/stage2/04-docker-compose/files/build/lnd-unlock/Dockerfile deleted file mode 100644 index 33936c2..0000000 --- a/stage2/04-docker-compose/files/build/lnd-unlock/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM alpine:3.10 - -RUN apk add --no-cache curl jq - -RUN mkdir /lnd/ - -COPY unlock.sh /bin/unlock - -RUN chmod +x /bin/unlock - -ENTRYPOINT ["unlock"] diff --git a/stage2/04-docker-compose/files/build/lnd-unlock/unlock.sh b/stage2/04-docker-compose/files/build/lnd-unlock/unlock.sh deleted file mode 100755 index 69dd7d6..0000000 --- a/stage2/04-docker-compose/files/build/lnd-unlock/unlock.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -HOST=localhost:8080 -TLS_CERT=/lnd/tls.cert -MACAROON="$(xxd -p /run/secrets/lnd-admin | tr -d '\n')" -PASS="$(cat /run/secrets/lnd-password | tr -d '\n' | base64 | tr -d '\n')" -UNLOCK_PAYLOAD="$(jq -nc --arg wallet_password ${PASS} '{$wallet_password}')" - -lncurl() { - url_path=$1 - data=$2 - - curl --fail --silent --show-error \ - --cacert "${TLS_CERT}" \ - --header "Grpc-Metadata-macaroon: ${MACAROON}" \ - --data "${data}" \ - "https://${HOST}/v1/${url_path}" -} - -while true; do - # First make sure that port is open - while ! nc -z localhost 8080; do - >&2 echo "Waiting for ${HOST} port to open…" - sleep 3 - done - >&2 echo "Port ${HOST} is open" - - # Wait a bit more in case the port was just opened - sleep 1 - - >&2 echo "Trying ${HOST}/getinfo…" - INFO=$(lncurl getinfo) - if [ "$?" = "0" ]; then - >&2 echo "Response: ${INFO}" - alias="$(echo "${INFO}" | jq '.alias')" - >&2 echo "Wallet for ${alias} unlocked!" - exit 0 - fi - >&2 echo "${HOST}/getinfo FAILED, out=${INFO}" - - >&2 echo "Trying ${HOST}/unlockwallet…" - RESULT=$(lncurl unlockwallet "${UNLOCK_PAYLOAD}") - >&2 echo "${HOST}/unlockwallet completed with: exit-code=$?, out=${RESULT}" - - sleep 16 -done diff --git a/stage2/04-docker-compose/files/docker-compose.yml b/stage2/04-docker-compose/files/docker-compose.yml deleted file mode 100644 index dfb3254..0000000 --- a/stage2/04-docker-compose/files/docker-compose.yml +++ /dev/null @@ -1,51 +0,0 @@ -version: '3.7' -x-logging: &default-logging - driver: journald - options: - tag: "{{.Name}}" - -x-utility: &default-utility - image: "alpine:3.11" - logging: *default-logging - network_mode: host - -services: - web: - image: nginx:1.17.8 - logging: *default-logging - volumes: - - ${HOME}/nginx:/etc/nginx - restart: on-failure - network_mode: host - bitcoin: - image: lncm/bitcoind:v0.19.0.1 - logging: *default-logging - volumes: - - ${HOME}/bitcoin:/root/.bitcoin - restart: on-failure - network_mode: host - lnd: - image: lncm/lnd:v0.8.0-experimental - logging: *default-logging - volumes: - - ${HOME}/lnd:/root/.lnd - - /var/lib/tor:/var/lib/tor - - /run/tor:/run/tor - restart: on-failure - depends_on: [ bitcoin, web ] - network_mode: host - lnd-unlock: - build: ${HOME}/build/lnd-unlock/ - depends_on: [ lnd ] - logging: *default-logging - secrets: - - lnd-password - - lnd-admin - volumes: - - "${HOME}/lnd/tls.cert:/lnd/tls.cert:ro" - network_mode: host -secrets: - lnd-password: - file: ${HOME}/secrets/lnd-password.txt - lnd-admin: - file: ${HOME}/lnd/data/chain/bitcoin/mainnet/admin.macaroon