mirror of
https://github.com/optim-enterprises-bv/databunker.git
synced 2025-10-28 16:42:30 +00:00
Added scripts to run databunker with postgresql
This commit is contained in:
36
docker-compose-pgsql.yml
Normal file
36
docker-compose-pgsql.yml
Normal 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
43
generate-pgsql-env-files.sh
Executable 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
6
setup-postgresql.sh
Executable 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"
|
||||
Reference in New Issue
Block a user