commit 1fe9291464f56a4fb7d77108508a88c806370371 Author: Andrey Arapov Date: Thu Dec 27 13:57:52 2018 +0100 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10d00b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.gz diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..79a65f8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM alpine:latest +RUN wget https://bitcoin.org/bin/bitcoin-core-0.17.1/bitcoin-0.17.1-x86_64-linux-gnu.tar.gz +COPY sha512sum.txt /tmp/ +RUN sha512sum -c /tmp/sha512sum.txt + +FROM ubuntu:bionic +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install libx11-xcb1 libx11-6 libxcb1 libfontconfig1 libfreetype6 xkb-data libdbus-1-3 +COPY --from=0 bitcoin-0.17.1-x86_64-linux-gnu.tar.gz . +RUN tar xf bitcoin-0.17.1-x86_64-linux-gnu.tar.gz -C /opt +RUN find /opt/ -type f -name "bitcoin*" -exec ln -sv '{}' /usr/local/bin/ \; +COPY launch /launch +ENTRYPOINT sh /launch +LABEL maintainer="Andrey Arapov " diff --git a/EXTRA.md b/EXTRA.md new file mode 100644 index 0000000..4872ad4 --- /dev/null +++ b/EXTRA.md @@ -0,0 +1,11 @@ +## Extra + +Mostly notes for myself. + +``` +find /opt/ -xdev -type f -execdir sh -c "ldd '{}' | grep 'not found'" \; | awk '{print $1}' | sort | uniq | tr '\n' ',' ; echo + +dpkg -S /usr/lib/x86_64-linux-gnu/{libX11-xcb.so.1,libX11.so.6} | cut -f1 -d: | xargs + +lsof -Pn -p $(pidof bitcoin-qt) 2>/dev/null | grep -w REG | awk '{print $8}' | xargs dpkg -S 2>/dev/null | cut -f1 -d: | sort | uniq | xargs +``` diff --git a/README.md b/README.md new file mode 100644 index 0000000..da71a45 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +## bitcoin in docker + +``` +docker-compose build && docker-compose up +``` diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/data/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..704333a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3.7' + +services: + bitcoin: + build: . + cap_add: + - IPC_LOCK # lock memory to prevent sensitive values from being swapped to disk. + environment: + - DISPLAY=unix$DISPLAY + - USER_ID=1000 + init: true + network_mode: bridge + shm_size: 4G + volumes: + - /etc/localtime:/etc/localtime:ro + - /tmp/.X11-unix:/tmp/.X11-unix:ro + # Make .config/Dogecoin/Dogecoin-Qt.conf persistent + - ./data:/home/user + - /WD4Gpool/bitcoin:/data diff --git a/launch b/launch new file mode 100644 index 0000000..9be9f01 --- /dev/null +++ b/launch @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make errors visible upon `docker logs -f` command +exec 2>&1 + +[ -d /home/user ] || ARGS="-m" +id user >/dev/null 2>&1 || useradd -s /bin/bash ${ARGS} -d /home/user -u ${USER_ID:-1000} user + +su -l user -c "LANG=C.UTF-8 LC_ALL=C.UTF-8 bitcoin-qt" diff --git a/sha512sum.txt b/sha512sum.txt new file mode 100644 index 0000000..0698c31 --- /dev/null +++ b/sha512sum.txt @@ -0,0 +1 @@ +2870214da4e84b51b3b0ee4874e3461e2b540eaccad6a55a68412e69cdb09e57f6f2c60271eab26a90cdfb8452a50f84e61bf77f5b277d625642d48201973b39 bitcoin-0.17.0.1-x86_64-linux-gnu.tar.gz