From f6e03510fcffafab177b9fe931a6e9611a32f4cf Mon Sep 17 00:00:00 2001 From: Andrey Arapov Date: Wed, 26 Dec 2018 14:33:06 +0100 Subject: [PATCH] first commit --- .gitignore | 1 + Dockerfile | 8 ++++++++ EXTRA.md | 11 +++++++++++ README.md | 5 +++++ docker-compose.yml | 18 ++++++++++++++++++ launch | 9 +++++++++ 6 files changed, 52 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 EXTRA.md create mode 100644 README.md create mode 100644 docker-compose.yml create mode 100644 launch 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..91d08d6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +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 +ADD dogecoin-1.10.0-linux64.tar.gz /opt +RUN find /opt/ -type f -name "dogecoin*" -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..5ec8aec --- /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 dogecoin-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..77f9058 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +## dogecoin in docker + +``` +docker-compose build && docker-compose run --rm +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b72a808 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.7' + +services: + dogecoin: + build: . + cap_add: + - IPC_LOCK # lock memory to prevent sensitive values from being swapped to disk. + environment: + - DISPLAY=unix$DISPLAY + # - PULSE_SERVER=unix:$XDG_RUNTIME_DIR/pulse/native + init: true + network_mode: bridge + shm_size: 4G + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/machine-id:/etc/machine-id:ro + - /tmp/.X11-unix:/tmp/.X11-unix:ro + # - $XDG_RUNTIME_DIR/pulse:/run/user/1000/pulse diff --git a/launch b/launch new file mode 100644 index 0000000..fefcbf2 --- /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 dogecoin-qt"