Interim Dockerize

This commit is contained in:
David Krett 2018-07-25 17:57:55 -04:00
parent d6270fbe94
commit 5c009528a9
6 changed files with 96 additions and 5 deletions

View file

@ -1,3 +1,9 @@
FROM postgres:10.4-alpine FROM postgres:10.4-alpine
# @NOTE:Shyft - need to modify scripts to check db/table existence
WORKDIR /
COPY ./shyft-cli/postgres_setup/docker_init_user_db.sh /docker-entrypoint-initdb.d/docker_init_user_db.sh
RUN cd /docker-entrypoint-initdb.d && ls -a
EXPOSE 5432 EXPOSE 5432

View file

@ -12,6 +12,7 @@ RUN \
COPY ./shyft-cli/initShyftGeth.sh / COPY ./shyft-cli/initShyftGeth.sh /
COPY ./shyft-cli/resetShyftGeth.sh / COPY ./shyft-cli/resetShyftGeth.sh /
COPY ./shyft-cli/startShyftGeth.sh / COPY ./shyft-cli/startShyftGeth.sh /
# COPY ./containers/docker/develop-alpine/shyftGeth/wait-for-postgres.sh /
COPY config.toml / COPY config.toml /
COPY unlockPasswords.txt / COPY unlockPasswords.txt /
COPY ShyftNetwork.json / COPY ShyftNetwork.json /
@ -26,6 +27,5 @@ RUN cd / && ls -a
# EXPOSE 8545 # EXPOSE 8545
# EXPOSE 30303 # EXPOSE 30303
WORKDIR / WORKDIR /
RUN ["./initShyftGeth.sh"]
ENTRYPOINT ["./startShyftGeth.sh"] CMD ["./initShyftGeth.sh"]

View file

@ -8,8 +8,9 @@ import (
var blockExplorerDb *sql.DB var blockExplorerDb *sql.DB
const ( const (
connStr = "user=postgres dbname=shyftdb sslmode=disable" // connStr = "user=postgres dbname=shyftdb password=docker sslmode=disable"
connStrTest = "user=postgres dbname=shyftdbtest sslmode=disable" connStr = "postgresql://postgres:docker@pg:5432/shyftdb"
connStrTest = "user=postgres dbname=shyftdbtest password=docker sslmode=disable"
) )
func InitDB() (*sql.DB, error) { func InitDB() (*sql.DB, error) {

View file

@ -14,9 +14,11 @@
- "5432:5432" - "5432:5432"
volumes: volumes:
- .:/go/src/ShyftNetwork/go-empyrean - .:/go/src/ShyftNetwork/go-empyrean
working_dir: /go/src/ShyftNetwork/go-empyrean # working_dir: /go/src/ShyftNetwork/go-empyrean
depends_on: depends_on:
- pg - pg
# command: ["./wait-for-postgres.sh", "pg:5432","./initShyftGeth.sh" ]
entrypoint: ["/go/src/ShyftNetwork/go-empyrean/wait-for-postgres.sh", "pg:5432","/go/src/ShyftNetwork/go-empyrean/shyft-cli/initShyftGeth.sh"]
pg: pg:
build: build:
context: $PWD context: $PWD
@ -29,6 +31,7 @@
- POSTGRES_USER=postgres - POSTGRES_USER=postgres
- POSGRES_PASSWORD=docker - POSGRES_PASSWORD=docker
- PGDATA=/pg-data - PGDATA=/pg-data

View file

@ -0,0 +1,65 @@
#!/bin/bash
set -e
echo $POSTGRES_USER
echo $POSTGRES_DB
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE DATABASE shyftdb;
\connect shyftdb;
CREATE TABLE IF NOT EXISTS blocks (
hash text primary key,
coinbase text,
gasUsed numeric,
gasLimit numeric,
txCount numeric,
uncleCount numeric,
age timestamp,
parentHash text,
uncleHash text,
difficulty bigint,
size text,
nonce numeric,
rewards numeric,
number bigint
);
CREATE TABLE IF NOT EXISTS txs (
txHash text primary key unique,
to_addr text,
from_addr text,
blockhash text references blocks(hash),
blocknumber text,
amount numeric,
gasprice numeric,
gas numeric,
gasLimit numeric,
txFee numeric,
nonce numeric,
txStatus text,
isContract bool,
age timestamp,
data bytea
);
CREATE TABLE IF NOT EXISTS accounts (
addr text primary key unique,
balance numeric,
txCountAccount numeric
);
CREATE TABLE IF NOT EXISTS contracts (
txHash text
);
CREATE TABLE IF NOT EXISTS internalTxs (
id SERIAL PRIMARY KEY,
txHash text references txs(txHash),
type text,
to_addr text,
from_addr text,
amount text,
gas numeric,
gasUsed numeric,
time text,
input text,
output text
);
EOSQL

16
wait-for-postgres.sh Executable file
View file

@ -0,0 +1,16 @@
#!/bin/bash
# wait-for-postgres.sh
set -e
host="$1"
shift
cmd="$@"
until PGPASSWORD=$POSTGRES_PASSWORD psql -h "$host" -U "postgres" -c '\q'; do
>&2 echo "Postgres is unavailable - sleeping"
sleep 1
done
>&2 echo "Postgres is up - executing command"
exec $cmd