Added scripts to run databunker with postgresql

This commit is contained in:
yuli
2022-09-27 18:55:30 +03:00
parent 3629037915
commit c583622fa7
3 changed files with 85 additions and 0 deletions

36
docker-compose-pgsql.yml Normal file
View File

@@ -0,0 +1,36 @@
version: '3'
services:
postgresql:
image: postgres
restart: unless-stopped
env_file:
- .env/postgresql-postgres.env
- .env/postgresql.env
volumes:
- ./data:/var/lib/postgresql/data
- ./setup-postgresql.sh:/docker-entrypoint-initdb.d/setup-postgresql.sh
- ./.env/pg-server.crt:/var/lib/postgresql/server.crt
- ./.env/pg-server.key:/var/lib/postgresql/server.key
command: -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
databunker-init:
#build: .
image: securitybunker/databunker:latest
env_file:
- .env/databunker.env
- .env/databunker-root.env
depends_on:
- postgresql
entrypoint: /bin/sh
command: -c "/databunker/bin/databunker -init -db databunkerdb"
databunker:
#build: .
image: securitybunker/databunker:latest
restart: unless-stopped
env_file:
- .env/databunker.env
entrypoint: /bin/sh
command: -c "/databunker/bin/databunker -db databunkerdb -conf /databunker/conf/databunker.yaml"
depends_on:
- postgresql
ports:
- 3000:3000

43
generate-pgsql-env-files.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/sh
echo 'creating ./data directory'
mkdir -p data
chmod 777 data
mkdir -p .env
echo 'generating .env/postgresql-postgres.env'
POSTGRES_PASSWORD=`< /dev/urandom LC_CTYPE=C tr -dc '_\*^A-Z-a-z-0-9' | head -c${1:-32};`
echo 'POSTGRES_PASSWORD='$POSTGRES_PASSWORD > .env/postgresql-postgres.env
echo 'generating .env/postgresql.env'
PGSQL_USER_PASSWORD=`< /dev/urandom LC_CTYPE=C tr -dc '_\*^A-Z-a-z-0-9' | head -c${1:-32};`
echo 'PGSQL_DATABASE=databunkerdb' > .env/postgresql.env
echo 'PGSQL_USER=bunkeruser' >> .env/postgresql.env
echo 'PGSQL_PASSWORD='$PGSQL_USER_PASSWORD >> .env/postgresql.env
echo 'generating .env/databunker.env'
KEY=`< /dev/urandom LC_CTYPE=C tr -dc 'a-f0-9' | head -c${1:-48};`
echo 'DATABUNKER_MASTERKEY='$KEY > .env/databunker.env
echo 'PGSQL_USER_NAME=bunkeruser' >> .env/databunker.env
echo 'PGSQL_USER_PASS='$PGSQL_USER_PASSWORD >> .env/databunker.env
echo 'PGSQL_HOST=postgresql' >> .env/databunker.env
echo 'PGSQL_PORT=5432' >> .env/databunker.env
echo 'generating ssl sertificate for postgres server'
rm -rf .env/pg-*
openssl req -new -text -passout pass:abcd -subj /CN=localhost -out .env/pg-server.req -keyout .env/pg-privkey.pem
openssl rsa -in .env/pg-privkey.pem -passin pass:abcd -out .env/pg-server.key
openssl req -x509 -in .env/pg-server.req -text -key .env/pg-server.key -out .env/pg-server.crt
chmod 400 .env/pg-*
sudo chown 999:0 .env/pg-*
echo 'generating .env/databunker-root.env'
ROOTTOKEN=`uuid 2> /dev/null`
if [ $? -ne 0 ]; then
ROOTTOKEN=`uuidgen`
fi
if [ $? -ne 0 ]; then
echo "Failed to generate DATABUNKER_ROOTTOKEN"
else
echo 'DATABUNKER_ROOTTOKEN='$ROOTTOKEN > .env/databunker-root.env
fi

6
setup-postgresql.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
echo "Creating postgresql user and databunkerdb database"
PGPASSWORD=$POSTGRES_PASSWORD
psql -U postgres -c "CREATE ROLE $PGSQL_USER NOSUPERUSER LOGIN PASSWORD '$PGSQL_PASSWORD'"
psql -U postgres -c "CREATE DATABASE $PGSQL_DATABASE OWNER $PGSQL_USER"