commit running testnet with docker #44
8 changed files with 118 additions and 2 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,6 +1,7 @@
|
||||||
.gitlab-ci.yml
|
.gitlab-ci.yml
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*/docker-compose.override.yml
|
*/docker-compose.override.yml
|
||||||
*/data/
|
*/*/data
|
||||||
|
|
||||||
./docker-compose.yml
|
./docker-compose.yml
|
||||||
*.zip
|
*.zip
|
|
@ -14,7 +14,7 @@ RUN addgroup --gid 1000 lbrycrd && \
|
||||||
# RUN wget -O /usr/bin/debugpaste https://github.com/nixc-us/debugpaste-it/raw/master/bin/debugpaste_64 && \
|
# RUN wget -O /usr/bin/debugpaste https://github.com/nixc-us/debugpaste-it/raw/master/bin/debugpaste_64 && \
|
||||||
# chmod +x /usr/bin/debugpaste
|
# chmod +x /usr/bin/debugpaste
|
||||||
|
|
||||||
RUN wget -O /usr/bin/lbrycrd-linux.zip https://github.com/lbryio/lbrycrd/releases/download/v0.12.2.2/lbrycrd-linux.zip && \
|
RUN wget -O /usr/bin/lbrycrd-linux.zip https://github.com/lbryio/lbrycrd/releases/download/v0.12.3.1/lbrycrd-linux.zip && \
|
||||||
cd /usr/bin/ && \
|
cd /usr/bin/ && \
|
||||||
unzip lbrycrd-linux.zip && \
|
unzip lbrycrd-linux.zip && \
|
||||||
rm lbrycrd-linux.zip && \
|
rm lbrycrd-linux.zip && \
|
||||||
|
|
40
lbrycrd/testnet/Dockerfile
Normal file
40
lbrycrd/testnet/Dockerfile
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
## This base image is for running latest lbrycrdd
|
||||||
|
# For some reason I may switch this image over to Alpine when I can RCA why it won't start.
|
||||||
|
FROM ubuntu:18.04
|
||||||
|
LABEL MAINTAINER="leopere [at] nixc [dot] us"
|
||||||
|
|
||||||
|
RUN addgroup --gid 1000 lbrycrd && \
|
||||||
|
adduser lbrycrd --uid 1000 --gid 1000 --gecos GECOS --shell /bin/bash --disabled-password --home /data && \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get -y install unzip wget curl && \
|
||||||
|
apt-get autoclean -y && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
## TODO: Consider adding debugpaste or variant
|
||||||
|
# RUN wget -O /usr/bin/debugpaste https://github.com/nixc-us/debugpaste-it/raw/master/bin/debugpaste_64 && \
|
||||||
|
# chmod +x /usr/bin/debugpaste
|
||||||
|
|
||||||
|
RUN wget -O /usr/bin/lbrycrd-linux.zip https://github.com/lbryio/lbrycrd/releases/download/v0.12.3.1/lbrycrd-linux.zip && \
|
||||||
|
cd /usr/bin/ && \
|
||||||
|
unzip lbrycrd-linux.zip && \
|
||||||
|
rm lbrycrd-linux.zip && \
|
||||||
|
chmod +x lbrycrdd lbrycrd-cli lbrycrd-tx
|
||||||
|
|
||||||
|
COPY start.sh /usr/local/bin/start
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
||||||
|
|
||||||
|
# USER lbrycrd
|
||||||
|
# RUN mkdir /data
|
||||||
|
VOLUME ["/data"]
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
## Exposing daemon port and RPC port
|
||||||
|
EXPOSE 9245 9246
|
||||||
|
|
||||||
|
## TODO: Decide what's important for lbrycrd and possibly add an entrypoint.
|
||||||
|
## Maybe catch things that might match things that can be easily executed in the
|
||||||
|
## lbrycrd cli and if nothing is entered just default to the containers shell.
|
||||||
|
## For now this is a placeholder that executes /bin/bash on `docker exec`
|
||||||
|
# ENTRYPOINT ["docker-entrypoint"]
|
||||||
|
|
||||||
|
CMD ["start"]
|
7
lbrycrd/testnet/README.md
Normal file
7
lbrycrd/testnet/README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
To run a local instance of testnet via docker:
|
||||||
|
|
||||||
|
1) clone this repository
|
||||||
|
|
||||||
|
2) Run `cd ./lbrycrd/testnet`
|
||||||
|
|
||||||
|
3) Run `docker-compose up -d`
|
17
lbrycrd/testnet/docker-compose.yml
Normal file
17
lbrycrd/testnet/docker-compose.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
version: '3.4'
|
||||||
|
|
||||||
|
services:
|
||||||
|
#############
|
||||||
|
## Lbrycrd ##
|
||||||
|
#############
|
||||||
|
lbrycrd:
|
||||||
|
image: tiger5226/testnet
|
||||||
|
restart: always
|
||||||
|
labels:
|
||||||
|
- "traefik.expose=true"
|
||||||
|
ports:
|
||||||
|
- "11336:9246"
|
||||||
|
- "11337:11337"
|
||||||
|
## host volumes for persistent data such as wallet private keys.
|
||||||
|
volumes:
|
||||||
|
- "./data:/data"
|
13
lbrycrd/testnet/docker-entrypoint.sh
Executable file
13
lbrycrd/testnet/docker-entrypoint.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# default to run whatever the user wanted like "/bin/bash"
|
||||||
|
## If user runs no need to run any more of the entrypoint script.
|
||||||
|
if [[ -z "$@" ]]; then
|
||||||
|
echo "User did not attempt input. Now executing docker-entrypoint."
|
||||||
|
else
|
||||||
|
echo "Running $@."
|
||||||
|
exec "$@"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
/bin/bash
|
34
lbrycrd/testnet/start.sh
Executable file
34
lbrycrd/testnet/start.sh
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# ## ToDo: Get a test case to see if this is the first run or a repeat run.
|
||||||
|
# ## If it's a first run you need to do a full index including all transactions
|
||||||
|
# ## tx index creates an index of every single transaction in the block history if
|
||||||
|
# ## not specified it will only create an index for transactions that are related to the wallet or have unspent outputs.
|
||||||
|
# ## This is specific to chainquery.
|
||||||
|
|
||||||
|
## Ensure perms are correct prior to running main binary
|
||||||
|
mkdir -p /data/.lbrycrd
|
||||||
|
chown -R lbrycrd:lbrycrd /data
|
||||||
|
chmod -R 755 /data/
|
||||||
|
|
||||||
|
## TODO: Consider a config directory for future magic.
|
||||||
|
# chown -R 1000:1000 /etc/lbrycrd
|
||||||
|
# chmod -R 755 /etc/lbrycrd
|
||||||
|
rm -f /var/run/lbrycrd.pid
|
||||||
|
|
||||||
|
|
||||||
|
## Set config params
|
||||||
|
## TODO: Make this more automagic in the future.
|
||||||
|
echo "rpcuser=lbry" > /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "rpcpassword=lbry" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "rpcport=11337" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "rpcbind=0.0.0.0" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "rpcallowip=0.0.0.0/0" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "testnet=1" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "txindex=1" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "server=1" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
echo "printtoconsole=1" >> /data/.lbrycrd/lbrycrd.conf
|
||||||
|
|
||||||
|
#nohup advance &>/dev/null &
|
||||||
|
su -c "lbrycrdd -conf=/data/.lbrycrd/lbrycrd.conf" lbrycrd
|
||||||
|
|
4
lbrycrd/testnet/upload.sh
Executable file
4
lbrycrd/testnet/upload.sh
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
docker build -t tiger5226/testnet:latest .
|
||||||
|
docker push tiger5226/testnet:latest
|
Loading…
Reference in a new issue