mirror of
https://github.com/optim-enterprises-bv/databunker.git
synced 2025-11-01 18:38:06 +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