initial
commit
8d176d7cd1
@ -0,0 +1,48 @@
|
|||||||
|
FROM phusion/baseimage:latest
|
||||||
|
|
||||||
|
RUN groupadd -r bitcoin && useradd -r -m -g bitcoin bitcoin
|
||||||
|
|
||||||
|
ENV BITCOIN_VERSION 0.14.0
|
||||||
|
ENV FILENAME bitcoin-0.14.0-x86_64-linux-gnu.tar.gz
|
||||||
|
ENV BITCOIN_DIR /bitcoin
|
||||||
|
|
||||||
|
RUN set -ex \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends ca-certificates wget \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
|
||||||
|
# grab gosu for easy step-down from root
|
||||||
|
&& gpg --keyserver pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
|
||||||
|
&& wget -qO /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture)" \
|
||||||
|
&& wget -qO /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture).asc" \
|
||||||
|
&& gpg --verify /usr/local/bin/gosu.asc \
|
||||||
|
&& rm /usr/local/bin/gosu.asc \
|
||||||
|
&& chmod +x /usr/local/bin/gosu \
|
||||||
|
|
||||||
|
# remove build dependencies
|
||||||
|
&& apt-get purge -y --auto-remove wget
|
||||||
|
|
||||||
|
WORKDIR $BITCOIN_DIR
|
||||||
|
|
||||||
|
COPY $FILENAME .
|
||||||
|
|
||||||
|
RUN tar zxvf $FILENAME
|
||||||
|
RUN mv bitcoin-$BITCOIN_VERSION/* .
|
||||||
|
RUN rm -rf $FILENAME
|
||||||
|
RUN rm -rf bitcoin-$BITCOIN_VERSION
|
||||||
|
|
||||||
|
|
||||||
|
ENV BITCOIN_DATA /data
|
||||||
|
RUN mkdir $BITCOIN_DATA \
|
||||||
|
&& chown bitcoin:bitcoin $BITCOIN_DATA\
|
||||||
|
&& ln -s $BITCOIN_DATA /home/bitcoin/.bitcoin
|
||||||
|
# Add bitcoin binary path to $PATH
|
||||||
|
ENV PATH $BITCOIN_DIR/bin:$PATH
|
||||||
|
VOLUME /data
|
||||||
|
|
||||||
|
COPY docker-entrypoint.sh /entrypoint.sh
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
||||||
|
EXPOSE 8333 18333
|
||||||
|
CMD ["bitcoind"]
|
||||||
|
|
@ -0,0 +1,3 @@
|
|||||||
|
Compile bitcoin using gitian following official doc
|
||||||
|
Download compiled files to current working dir
|
||||||
|
Update Dockerfile with the bitcoin version you want to install
|
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$1" = 'bitcoin-cli' -o "$1" = 'bitcoin-tx' -o "$1" = 'bitcoind' -o "$1" = 'test_bitcoin' ]; then
|
||||||
|
mkdir -p "$BITCOIN_DATA"
|
||||||
|
|
||||||
|
if [ ! -s "$BITCOIN_DATA/bitcoin.conf" ]; then
|
||||||
|
cat <<-EOF > "$BITCOIN_DATA/bitcoin.conf"
|
||||||
|
printtoconsole=1
|
||||||
|
uacomment=BIP148-UASF
|
||||||
|
rpcpassword=${BITCOIN_RPC_PASSWORD:-password}
|
||||||
|
rpcuser=${BITCOIN_RPC_USER:-bitcoin}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R bitcoin "$BITCOIN_DATA"
|
||||||
|
exec gosu bitcoin "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$@"
|
@ -0,0 +1,44 @@
|
|||||||
|
FROM phusion/baseimage:latest
|
||||||
|
|
||||||
|
RUN groupadd -r bitcoin && useradd -r -m -g bitcoin bitcoin
|
||||||
|
|
||||||
|
ENV BITCOIN_VERSION 0.13.2
|
||||||
|
ENV BITCOIN_URL https://bitcoin.org/bin/bitcoin-core-0.13.2/bitcoin-0.13.2-x86_64-linux-gnu.tar.gz
|
||||||
|
ENV BITCOIN_SHA256 29215a7fe7430224da52fc257686d2d387546eb8acd573a949128696e8761149
|
||||||
|
ENV BITCOIN_ASC_URL https://bitcoin.org/bin/bitcoin-core-0.13.2/SHA256SUMS.asc
|
||||||
|
ENV BITCOIN_PGP_KEY 01EA5486DE18A882D4C2684590C8019E36C2E964
|
||||||
|
|
||||||
|
RUN set -ex \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends ca-certificates wget \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
|
||||||
|
# grab gosu for easy step-down from root
|
||||||
|
&& gpg --keyserver pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
|
||||||
|
&& wget -qO /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture)" \
|
||||||
|
&& wget -qO /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture).asc" \
|
||||||
|
&& gpg --verify /usr/local/bin/gosu.asc \
|
||||||
|
&& rm /usr/local/bin/gosu.asc \
|
||||||
|
&& chmod +x /usr/local/bin/gosu \
|
||||||
|
|
||||||
|
# Add bitcoin ppa
|
||||||
|
&& add-apt-repository -y ppa:bitcoin/bitcoin \
|
||||||
|
&& apt-get update \
|
||||||
|
|
||||||
|
# install bitcoin binaries
|
||||||
|
&& apt-get install -y bitcoind \
|
||||||
|
|
||||||
|
# remove build dependencies
|
||||||
|
&& apt-get purge -y --auto-remove wget
|
||||||
|
|
||||||
|
ENV BITCOIN_DATA /data
|
||||||
|
RUN mkdir $BITCOIN_DATA \
|
||||||
|
&& chown bitcoin:bitcoin $BITCOIN_DATA \
|
||||||
|
&& ln -s $BITCOIN_DATA /home/bitcoin/.bitcoin
|
||||||
|
VOLUME /data
|
||||||
|
|
||||||
|
COPY docker-entrypoint.sh /entrypoint.sh
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
||||||
|
EXPOSE 8333 18333
|
||||||
|
CMD ["bitcoind"]
|
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$1" = 'bitcoin-cli' -o "$1" = 'bitcoin-tx' -o "$1" = 'bitcoind' -o "$1" = 'test_bitcoin' ]; then
|
||||||
|
mkdir -p "$BITCOIN_DATA"
|
||||||
|
|
||||||
|
if [ ! -s "$BITCOIN_DATA/bitcoin.conf" ]; then
|
||||||
|
cat <<-EOF > "$BITCOIN_DATA/bitcoin.conf"
|
||||||
|
printtoconsole=1
|
||||||
|
rpcpassword=${BITCOIN_RPC_PASSWORD:-password}
|
||||||
|
rpcuser=${BITCOIN_RPC_USER:-bitcoin}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R bitcoin "$BITCOIN_DATA"
|
||||||
|
exec gosu bitcoin "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$@"
|
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
STORJ_ADDRESS=1CT76j4GRhad1CXdngpzVLWjnpVLSGt7Ec
|
||||||
|
STORJ_CONFIG=/root/.config/storjshare/config.json
|
||||||
|
STORJ_LOG=/root/.config/storjshare/log
|
||||||
|
STORJ_STORAGE=/storage
|
||||||
|
|
||||||
|
if [ "$1" = 'storjshare' ];then
|
||||||
|
|
||||||
|
storjshare-daemon start
|
||||||
|
|
||||||
|
if [ ! -s "$STORJ_CONFIG" ];then
|
||||||
|
storjshare create \
|
||||||
|
--sjcx $STORJ_ADDRESS \
|
||||||
|
-o $STORJ_CONFIG --noedit \
|
||||||
|
--logfile $STORJ_LOG \
|
||||||
|
--size 50GB \
|
||||||
|
--storage $STORJ_STORAGE
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
storjshare start --config $STORJ_CONFIG
|
||||||
|
tail -f $STORJ_LOG
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$@"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
FROM ubuntu:latest
|
||||||
|
MAINTAINER Storj Labs (bill@storj.io)
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get -y upgrade && \
|
||||||
|
apt-get -y install curl && \
|
||||||
|
curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
|
||||||
|
apt-get -y install vim libssl-dev nodejs git python build-essential && \
|
||||||
|
node --version && \
|
||||||
|
npm --version && \
|
||||||
|
python --version && \
|
||||||
|
npm install --global storjshare-daemon && \
|
||||||
|
storjshare --version
|
||||||
|
|
||||||
|
VOLUME /root/.config
|
||||||
|
VOLUME /storage
|
||||||
|
|
||||||
|
COPY docker-entrypoint.sh /entrypoint.sh
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
CMD ["storjshare"]
|
||||||
|
|
||||||
|
EXPOSE 4000 4001 4002 4003
|
@ -0,0 +1,96 @@
|
|||||||
|
FROM microsoft/windowsservercore
|
||||||
|
MAINTAINER Storj Labs (bill@storj.io)
|
||||||
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]
|
||||||
|
|
||||||
|
ENV NPM_CONFIG_LOGLEVEL info
|
||||||
|
ENV NODE_VERSION 6.9.2
|
||||||
|
ENV MINGIT_VERSION 2.11.0
|
||||||
|
|
||||||
|
RUN [Environment]::SetEnvironmentVariable('DOCKER_BUILD_DATE', $(Get-Date), 'Machine'); \
|
||||||
|
$env:DOCKER_BUILD_DATE = [System.Environment]::GetEnvironmentVariable('DOCKER_BUILD_DATE','Machine');
|
||||||
|
|
||||||
|
RUN Write-Host '=============================================='; \
|
||||||
|
Write-Host 'Performing Storj Labs storjshare-daemon Image Build'; \
|
||||||
|
Write-Host 'Github Site: https://github.com/Storj/storjshare-daemon'; \
|
||||||
|
Write-Host ''; \
|
||||||
|
Write-Host ('Docker Image Build Date: {0}' -f $env:DOCKER_BUILD_DATE); \
|
||||||
|
Write-Host ''; \
|
||||||
|
Write-Host 'Loading Recommended Versions of Software'; \
|
||||||
|
Write-Host ('Node.js: {0}' -f $env:NODE_VERSION); \
|
||||||
|
Write-Host ('MinGit: {0}' -f $env:MINGIT_VERSION); \
|
||||||
|
Write-Host ''; \
|
||||||
|
Write-Host 'Loading Storj Labs Tools'; \
|
||||||
|
Write-Host ('windows-build-tools: Latest Version'); \
|
||||||
|
Write-Host ('storjshare-daemon: Latest Version'); \
|
||||||
|
Write-Host '==============================================';
|
||||||
|
|
||||||
|
#node.js Setup
|
||||||
|
RUN Write-Host ('Downloading node.js {0} ...' -f $env:NODE_VERSION); \
|
||||||
|
Invoke-WebRequest $('https://nodejs.org/dist/v{0}/node-v{0}-win-x64.zip' -f $env:NODE_VERSION) -OutFile 'node.zip' -UseBasicParsing ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Extracting node.js ...'; \
|
||||||
|
Expand-Archive node.zip -DestinationPath C:\ ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Extracting node.js and setting up C:\nodejs ...'; \
|
||||||
|
Rename-Item -Path $('C:\node-v{0}-win-x64' -f $env:NODE_VERSION) -NewName 'C:\nodejs' ; \
|
||||||
|
New-Item $($env:APPDATA + '\npm') ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Adding npm to Environment Path'; \
|
||||||
|
$env:PATH = 'C:\nodejs;{0}\npm;{1}' -f $env:APPDATA, $env:PATH ; \
|
||||||
|
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\' -Name Path -Value $env:PATH ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Testing Node Install'; \
|
||||||
|
Write-Host npm --version; npm --version; \
|
||||||
|
\
|
||||||
|
Write-Host 'Cleaning up'; \
|
||||||
|
Remove-Item -Path node.zip; \
|
||||||
|
\
|
||||||
|
Write-Host 'Completed node.js Installation Successfully';
|
||||||
|
|
||||||
|
#MinGit Setup
|
||||||
|
|
||||||
|
RUN Write-Host ('Downloading MinGit {0} ...' -f $env:MINGIT_VERSION); \
|
||||||
|
Invoke-WebRequest $('https://github.com/git-for-windows/git/releases/download/v{0}.windows.1/MinGit-{0}-64-bit.zip' -f $env:MINGIT_VERSION) -OutFile 'mingit.zip' -UseBasicParsing ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Extracting MinGit and setting up C:\mingit ...'; \
|
||||||
|
Expand-Archive mingit.zip -DestinationPath C:\mingit ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Adding git to Environment Path'; \
|
||||||
|
$env:PATH = 'C:\mingit\cmd;{0}' -f $env:PATH ; \
|
||||||
|
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\' -Name Path -Value $env:PATH ; \
|
||||||
|
\
|
||||||
|
Write-Host 'Testing MinGit Install'; \
|
||||||
|
Write-Host git version; git version; \
|
||||||
|
\
|
||||||
|
Write-Host 'Cleaning up'; \
|
||||||
|
Remove-Item -Path mingit.zip; \
|
||||||
|
\
|
||||||
|
Write-Host 'Completed MinGit Installation Successfully';
|
||||||
|
|
||||||
|
#windows-build-tools Setup
|
||||||
|
RUN Write-Host ('Installing windows-build-tools - Latest Version'); \
|
||||||
|
Write-Host npm install --global windows-build-tools; npm install --global windows-build-tools; \
|
||||||
|
\
|
||||||
|
Write-Host 'Completed Storj-cli Installation Successfully';
|
||||||
|
|
||||||
|
#storjshare-daemon Setup
|
||||||
|
RUN Write-Host ('Installing storjshare-daemon - Latest Version'); \
|
||||||
|
Write-Host npm install --global storjshare-daemon; npm install --global storjshare-daemon; \
|
||||||
|
\
|
||||||
|
Write-Host 'Testing Storjshare-daemon Install'; \
|
||||||
|
Write-Host storjshare --version; storjshare --version; \
|
||||||
|
\
|
||||||
|
Write-Host 'Completed storjshare-daemon Installation Successfully';
|
||||||
|
|
||||||
|
#Setting up MOTD
|
||||||
|
#ADD motd.txt motd.txt
|
||||||
|
#ADD Microsoft.PowerShell_profile.ps1 Microsoft.PowerShell_profile.ps1
|
||||||
|
|
||||||
|
#RUN New-item -type file -force $profile; \
|
||||||
|
# Set-Content $Profile (Get-Content Microsoft.PowerShell_profile.ps1); \
|
||||||
|
RUN Write-Host 'Cleaning up...'; \
|
||||||
|
Remove-Item *.log -Force; \
|
||||||
|
Remove-Item *.ps1 -Force;
|
||||||
|
|
||||||
|
CMD []
|
||||||
|
ENTRYPOINT ["powershell"]
|
Reference in New Issue