diff --git a/contrib/backends/Makefile b/contrib/backends/Makefile index 9e5ede01..2862f19e 100644 --- a/contrib/backends/Makefile +++ b/contrib/backends/Makefile @@ -1,4 +1,4 @@ -TARGETS = bitcoin zcash bcash ethereum bgold dash litecoin +TARGETS = bitcoin zcash bcash ethereum bgold dash litecoin dogecoin IMAGE = blockbook-backend-build-deb NO_CACHE = false diff --git a/contrib/backends/dogecoin/Makefile b/contrib/backends/dogecoin/Makefile new file mode 100644 index 00000000..65f4bb29 --- /dev/null +++ b/contrib/backends/dogecoin/Makefile @@ -0,0 +1,13 @@ +DOGECOIN_VERSION := 1.10.0 + +all: + wget https://github.com/dogecoin/dogecoin/releases/download/v${DOGECOIN_VERSION}/dogecoin-${DOGECOIN_VERSION}-linux64.tar.gz + tar -xf dogecoin-${DOGECOIN_VERSION}-linux64.tar.gz + mv dogecoin-${DOGECOIN_VERSION} dogecoin + rm dogecoin/bin/dogecoin-qt + rm dogecoin/bin/test_dogecoin* + + +clean: + rm -rf dogecoin + rm -f dogecoin-${DOGECOIN_VERSION}-linux64.tar.gz diff --git a/contrib/backends/dogecoin/debian/backend-dogecoin.conffiles b/contrib/backends/dogecoin/debian/backend-dogecoin.conffiles new file mode 100644 index 00000000..1e030a36 --- /dev/null +++ b/contrib/backends/dogecoin/debian/backend-dogecoin.conffiles @@ -0,0 +1 @@ +/opt/coins/nodes/dogecoin/dogecoin.conf diff --git a/contrib/backends/dogecoin/debian/backend-dogecoin.dirs b/contrib/backends/dogecoin/debian/backend-dogecoin.dirs new file mode 100644 index 00000000..8e1d86a8 --- /dev/null +++ b/contrib/backends/dogecoin/debian/backend-dogecoin.dirs @@ -0,0 +1 @@ +/opt/coins/data/dogecoin/backend diff --git a/contrib/backends/dogecoin/debian/backend-dogecoin.install b/contrib/backends/dogecoin/debian/backend-dogecoin.install new file mode 100644 index 00000000..324c8702 --- /dev/null +++ b/contrib/backends/dogecoin/debian/backend-dogecoin.install @@ -0,0 +1,2 @@ +dogecoin/* /opt/coins/nodes/dogecoin +dogecoin.conf /opt/coins/nodes/dogecoin diff --git a/contrib/backends/dogecoin/debian/backend-dogecoin.logrotate b/contrib/backends/dogecoin/debian/backend-dogecoin.logrotate new file mode 100644 index 00000000..3233690b --- /dev/null +++ b/contrib/backends/dogecoin/debian/backend-dogecoin.logrotate @@ -0,0 +1,10 @@ +/opt/coins/data/dogecoin/backend/debug.log +/opt/coins/data/dogecoin/backend/db.log +{ + rotate 7 + daily + compress + missingok + notifempty + copytruncate +} diff --git a/contrib/backends/dogecoin/debian/backend-dogecoin.postinst b/contrib/backends/dogecoin/debian/backend-dogecoin.postinst new file mode 100644 index 00000000..bab28e43 --- /dev/null +++ b/contrib/backends/dogecoin/debian/backend-dogecoin.postinst @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +case "$1" in + + configure) + if ! id -u dogecoin &> /dev/null + then + useradd --system -M -U dogecoin -s /bin/false + fi + + if [ "$(stat -c '%U' /opt/coins/data/dogecoin/backend)" != "dogecoin" ] + then + chown -R dogecoin:dogecoin /opt/coins/data/dogecoin/backend + fi + ;; + +esac + +#DEBHELPER# diff --git a/contrib/backends/dogecoin/debian/backend-dogecoin.service b/contrib/backends/dogecoin/debian/backend-dogecoin.service new file mode 100644 index 00000000..f82c331d --- /dev/null +++ b/contrib/backends/dogecoin/debian/backend-dogecoin.service @@ -0,0 +1,47 @@ +# It is not recommended to modify this file in-place, because it will +# be overwritten during package upgrades. If you want to add further +# options or overwrite existing ones then use +# $ systemctl edit dogecoin.service +# See "man systemd.service" for details. + +# Note that almost all daemon options could be specified in +# /opt/coins/nodes/dogecoin/dogecoin.conf + +[Unit] +Description=Dogecoin daemon (mainnet) +After=network.target + +[Service] +ExecStart=/opt/coins/nodes/dogecoin/bin/dogecoind -datadir=/opt/coins/data/dogecoin/backend -conf=/opt/coins/nodes/dogecoin/dogecoin.conf -pid=/run/dogecoind/dogecoin.pid +# Creates /run/dogecoind owned by dogecoin +RuntimeDirectory=dogecoind +User=dogecoin +Type=forking +PIDFile=/run/dogecoind/dogecoin.pid +Restart=on-failure + +# Resource limits +LimitNOFILE=500000 + +# Hardening measures +#################### + +# Provide a private /tmp and /var/tmp. +PrivateTmp=true + +# Mount /usr, /boot/ and /etc read-only for the process. +ProtectSystem=full + +# Disallow the process and all of its children to gain +# new privileges through execve(). +NoNewPrivileges=true + +# Use a new /dev namespace only populated with API pseudo devices +# such as /dev/null, /dev/zero and /dev/random. +PrivateDevices=true + +# Deny the creation of writable and executable memory mappings. +MemoryDenyWriteExecute=true + +[Install] +WantedBy=multi-user.target diff --git a/contrib/backends/dogecoin/debian/changelog b/contrib/backends/dogecoin/debian/changelog new file mode 100644 index 00000000..3e9adc1d --- /dev/null +++ b/contrib/backends/dogecoin/debian/changelog @@ -0,0 +1,5 @@ +dogecoin (1.10.0-satoshilabs1) unstable; urgency=medium + + * Initial build + + -- Martin Bohm Thu, 14 Jun 2018 11:12:13 +0200 diff --git a/contrib/backends/dogecoin/debian/compat b/contrib/backends/dogecoin/debian/compat new file mode 100644 index 00000000..ec635144 --- /dev/null +++ b/contrib/backends/dogecoin/debian/compat @@ -0,0 +1 @@ +9 diff --git a/contrib/backends/dogecoin/debian/control b/contrib/backends/dogecoin/debian/control new file mode 100644 index 00000000..a5ded050 --- /dev/null +++ b/contrib/backends/dogecoin/debian/control @@ -0,0 +1,11 @@ +Source: dogecoin +Section: satoshilabs +Priority: optional +Maintainer: martin.bohm@satoshilabs.com +Build-Depends: debhelper, wget, tar, gzip, make, dh-systemd, dh-exec +Standards-Version: 3.9.5 + +Package: backend-dogecoin +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, logrotate +Description: Satoshilabs packaged dogecoin server diff --git a/contrib/backends/dogecoin/debian/rules b/contrib/backends/dogecoin/debian/rules new file mode 100755 index 00000000..f69489df --- /dev/null +++ b/contrib/backends/dogecoin/debian/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f + +DH_VERBOSE = 1 + +%: + dh $@ --with=systemd + +override_dh_systemd_start: + dh_systemd_start --no-start + +override_dh_installinit: diff --git a/contrib/backends/dogecoin/dogecoin.conf b/contrib/backends/dogecoin/dogecoin.conf new file mode 100644 index 00000000..c45fd961 --- /dev/null +++ b/contrib/backends/dogecoin/dogecoin.conf @@ -0,0 +1,17 @@ +daemon=1 +server=1 +nolisten=1 +rpcuser=rpc +rpcpassword=rpc +rpcport=8038 +txindex=1 +whitelist=127.0.0.1 + +zmqpubhashtx=tcp://127.0.0.1:38338 +zmqpubhashblock=tcp://127.0.0.1:38338 + +rpcworkqueue=1100 +maxmempool=2000 +dbcache=1000 + +