Fixes magicless chainquery and starts on bootstrap
added chainquery/.gitignore to ignore large blobs. fixed Dockerfile up to use staged prep and production removed db-seed.sh as we have quick-bootstrap.sh start.sh needed modification to pull config from the right location in the linux FS Added chainquery/.dockerignore to prevent extremely long build times in the future Removed fancy bash vars in chainquery/.env Started work on getting quick-bootstrap.sh ready for release.
This commit is contained in:
parent
75ea4c1577
commit
5ef885df04
8 changed files with 35 additions and 80 deletions
|
@ -1 +1,3 @@
|
||||||
data/
|
data/
|
||||||
|
data.z*
|
||||||
|
chainquery.z*
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
COMPOSE_PROJECT_NAME=chainquery
|
COMPOSE_PROJECT_NAME=chainquery
|
||||||
RPC_USER=${RPC_USER=lbryrpc}
|
## Currently unused until start.sh gains magic powers.
|
||||||
RPC_PASSWORD=${RPC_PASSWORD:-changeme}
|
RPC_USER=lbryrpc
|
||||||
|
RPC_PASSWORD=changeme
|
||||||
## This should be the internal container IP from which you'll be calling the RPC for Lbrycrdd from.
|
## This should be the internal container IP from which you'll be calling the RPC for Lbrycrdd from.
|
||||||
RPC_ALLOW_IP=${RPC_ALLOW_IP:-10.5.1.3}
|
RPC_ALLOW_IP=10.5.1.3
|
||||||
MYSQL_SERVER=${MYSQL_SERVER:-10.5.1.10}
|
|
||||||
MYSQL_USER=${MYSQL_USER:-changeme}
|
## Mysql Creds to be shared between Chainquery and Mysql container
|
||||||
MYSQL_PASSWORD=${MYSQL_PASSWORD:-changeme}
|
MYSQL_SERVER=10.5.1.10
|
||||||
MYSQL_DATABASE=${MYSQL_DATABASE:-chainquery}
|
MYSQL_USER=changeme
|
||||||
MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-changeme}
|
MYSQL_PASSWORD=changeme
|
||||||
|
MYSQL_DATABASE=chainquery
|
||||||
|
MYSQL_ROOT_PASSWORD=changeme
|
||||||
|
|
3
chainquery/.gitignore
vendored
Normal file
3
chainquery/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
data/
|
||||||
|
data.z*
|
||||||
|
chainquery.z*
|
|
@ -23,9 +23,9 @@ FROM ubuntu:18.04 as app
|
||||||
RUN adduser chainquery --gecos GECOS --shell /bin/bash --disabled-password --home /home/chainquery
|
RUN adduser chainquery --gecos GECOS --shell /bin/bash --disabled-password --home /home/chainquery
|
||||||
|
|
||||||
COPY --from=0 /download/chainquery /usr/bin
|
COPY --from=0 /download/chainquery /usr/bin
|
||||||
COPY chainqueryconfig.toml /etc/chainquery
|
COPY chainqueryconfig.toml /etc/chainquery/
|
||||||
RUN ls -lAh /etc |grep chain && \
|
RUN ls -lAh /etc |grep chain && \
|
||||||
ls -lAh /etc/chainquery && \
|
ls -lAh /etc/chainquery/ && \
|
||||||
cat /etc/chainquery/chainqueryconfig.toml
|
cat /etc/chainquery/chainqueryconfig.toml
|
||||||
COPY start.sh /usr/local/bin/start
|
COPY start.sh /usr/local/bin/start
|
||||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
source ./db-seed.sha
|
|
||||||
echo "Checking if seeding is needed"
|
|
||||||
if [[ -d !./data/db/chainquery ]]; then
|
|
||||||
echo "It appears as though you don't currently have the db created."
|
|
||||||
echo "Downloading the Chainquery DB checkpoint data."
|
|
||||||
wget -O data.zip https://s3bucketURL/here.zip
|
|
||||||
if [[ -f !./data.zip ]]; then
|
|
||||||
echo "It seems that downloading the checkpoint data failed."
|
|
||||||
else
|
|
||||||
echo "Checkpoint data received verifying download integrity."
|
|
||||||
if ! echo "$CHECKSUM data.zip" | sha256sum -c -; then
|
|
||||||
echo "Checksum failed, somehow the checkpoint data doesn't match what it's supposed to." >&2
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "clearing ./data directory in case it contains something strange."
|
|
||||||
echo "Uncompressing chainquery checkpoint data."
|
|
||||||
rm -Rf ./data
|
|
||||||
unzip ./data.zip
|
|
||||||
if [[ -d !./data/db/chainquery ]]; then
|
|
||||||
echo "Something went wrong with uncompressing checkpoint data."
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "Checkpoint data has been successfully obtained you can now run the Chainquery appliance."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
|
@ -18,45 +18,16 @@ services:
|
||||||
ipv4_address: 10.5.1.10
|
ipv4_address: 10.5.1.10
|
||||||
aliases:
|
aliases:
|
||||||
- mysql
|
- mysql
|
||||||
environment:
|
env_file:
|
||||||
## These variables are stored in the .env file next to this docker-compose.yml file.
|
- .env
|
||||||
## I will include a default .env file and .gitignore the ".env" pattern so you should be able to just git pull in the future if you need to.
|
|
||||||
MYSQL_SERVER: ${MYSQL_SERVER:-10.5.1.10}
|
|
||||||
MYSQL_USER: ${MYSQL_USER:-changeme}
|
|
||||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-changeme}
|
|
||||||
MYSQL_DATABASE: ${MYSQL_DATABASE:-chainquery}
|
|
||||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-changeme}
|
|
||||||
expose:
|
expose:
|
||||||
- 3306
|
- 3306
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/db:/var/lib/mysql
|
- ./data/db:/var/lib/mysql
|
||||||
- ./my.cnf:/etc/mysql/conf.d/chainquery-optimizations.cnf
|
- ./my.cnf:/etc/mysql/conf.d/chainquery-optimizations.cnf
|
||||||
|
|
||||||
#######################
|
|
||||||
## Adminer container ##
|
|
||||||
#######################
|
|
||||||
# adminer:
|
|
||||||
# image: adminer
|
|
||||||
# # restart: always
|
|
||||||
# links:
|
|
||||||
# - "mysql:database"
|
|
||||||
# depends_on:
|
|
||||||
# - mysql
|
|
||||||
# labels:
|
|
||||||
# # https://docs.traefik.io/user-guide/docker-and-lets-encrypt/
|
|
||||||
# - "traefik.backend=adminer"
|
|
||||||
# - "traefik.docker.network=lbrynet"
|
|
||||||
# - "traefik.frontend.rule=Host:adminer.lbry-demo.nixc.us"
|
|
||||||
# - "traefik.expose=true"
|
|
||||||
# - "traefik.port=8080"
|
|
||||||
# # healthcheck:
|
|
||||||
# # test: ["CMD", "curl", "--fail", "http://localhost:8080/", "||", "exit", "1"]
|
|
||||||
# networks:
|
|
||||||
# traefik:
|
|
||||||
# ipv4_address: 10.5.1.19
|
|
||||||
# aliases:
|
|
||||||
# - adminer
|
|
||||||
|
|
||||||
################
|
################
|
||||||
## Chainquery ##
|
## Chainquery ##
|
||||||
################
|
################
|
||||||
|
@ -68,6 +39,8 @@ services:
|
||||||
networks:
|
networks:
|
||||||
traefik:
|
traefik:
|
||||||
ipv4_address: 10.5.1.3
|
ipv4_address: 10.5.1.3
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
labels:
|
labels:
|
||||||
- "traefik.expose=false"
|
- "traefik.expose=false"
|
||||||
expose:
|
expose:
|
||||||
|
|
18
chainquery/quick-bootstrap.sh
Normal file → Executable file
18
chainquery/quick-bootstrap.sh
Normal file → Executable file
|
@ -35,24 +35,20 @@ BONUS_DEPENDENCIES=(
|
||||||
docker-compose
|
docker-compose
|
||||||
)
|
)
|
||||||
|
|
||||||
|
function check_deps() {
|
||||||
for i in "${!DEPENDENCIES[@]}"; do
|
for i in "${!DEPENDENCIES[@]}"; do
|
||||||
echo ${DEPENDENCIES[$i]}"_KEY"
|
echo ${DEPENDENCIES[$i]}"_KEY"
|
||||||
## Indirect references http://tldp.org/LDP/abs/html/ivr.html
|
## Indirect references http://tldp.org/LDP/abs/html/ivr.html
|
||||||
eval TESTDEP=\$"${DEPENDENCIES[$i]}"
|
eval TESTDEP=\$"${DEPENDENCIES[$i]}"
|
||||||
test_for_deps $TESTDEP
|
test_for_deps $TESTDEP
|
||||||
done
|
done
|
||||||
|
}
|
||||||
|
|
||||||
## Add ways to get into and out of a bind here.
|
## Add ways to get into and out of a bind here.
|
||||||
case i in
|
case $1 in
|
||||||
* )
|
|
||||||
echo "=================================================="
|
|
||||||
echo "You look like you need usage examples let me help."
|
|
||||||
echo "=================================================="
|
|
||||||
echo "Add documentation on script params HERE"
|
|
||||||
;;
|
|
||||||
getdata )
|
getdata )
|
||||||
## Get DB Checkpoint data.
|
## Get DB Checkpoint data.
|
||||||
wget http://chainquery-data.s3.amazonaws.com/data.zip ./chainquery.zip
|
axel -a -n 6 http://chainquery-data.s3.amazonaws.com/data.zip -o ./chainquery.zip
|
||||||
;;
|
;;
|
||||||
extract )
|
extract )
|
||||||
## Unpack the data again if need be.
|
## Unpack the data again if need be.
|
||||||
|
@ -67,4 +63,10 @@ case i in
|
||||||
# rm -Rf ./data
|
# rm -Rf ./data
|
||||||
# rm -f ./chainquery.zip
|
# rm -f ./chainquery.zip
|
||||||
;;
|
;;
|
||||||
|
* )
|
||||||
|
echo "=================================================="
|
||||||
|
echo "You look like you need usage examples let me help."
|
||||||
|
echo "=================================================="
|
||||||
|
echo "Add documentation on script params HERE"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
## For now keeping this simple. Potentially eventually add all command args as envvars for the Dockerfile or use safe way to add args via docker-compose.yml
|
## For now keeping this simple. Potentially eventually add all command args as envvars for the Dockerfile or use safe way to add args via docker-compose.yml
|
||||||
chainquery -c "/etc/chainquery/chainqueryconfig.toml" serve
|
chainquery serve -c "/etc/chainquery/"
|
||||||
|
|
Loading…
Reference in a new issue