This is the easiest method to start with Data Bunker. Always use the latest version.
You can fetch and start Databunker with the following command:
cd ~
mkdir -p data
docker run -v ~/data:/databunker/data -p 3000:3000 \
--rm --name dbunker paranoidguy/databunker
This command will init Databunker service, init database and start container.
This command will print DATABUNKER_MASTERKEY and DATABUNKER_ROOTTOKEN.
You can run: docker logs dbunker
to view these codes.
The database will be init in the ~/data directory.
DATABUNKER_MASTERKEY is used to encrypt database records.
DATABUNKER_ROOTTOKEN is an access token to databunker API.
To stop Databunker container you can run the following command:
docker kill dbunker
You can run it again, after it was initalized. Use the following command:
docker run -p 3000:3000 -v ~/data:/databunker/data \
-e "DATABUNKER_MASTERKEY=**DATABUNKER_MASTERKEY**" \
--rm --name dbunker paranoidguy/databunker
Databunker has a configuration file that you can alter to enable custom email gateway, notification urls, twilio account (sms gateway), etc...
There are number of ways you can change configuration file in container, for example by creating your own Docker file. Another option is to create this file outside of container in conf/ directory and mount this directory in container.
- Download default configuration file and place it in ~/conf/ directory.
mkdir ~/conf
curl https://raw.githubusercontent.com/paranoidguy/databunker/master/databunker.yaml \
-o ~/conf/databunker.yaml
-
After that you can alter the configuration file with your editor: ~/conf/databunker.yaml
-
Run container and mount ~/conf/ directory:
docker run -p 3000:3000 -v ~/data:/databunker/data -v ~/conf:/databunker/conf \
-e "DATABUNKER_MASTERKEY=**DATABUNKER_MASTERKEY**" \
--rm --name dbunker paranoidguy/databunker
You can generate SSL certificates and place them in the /databunker/certs directory in the running container.
For example you can do this by mounting /databunker/certs to a local ~/certs/ directory as:
cd ~
mkdir -p certs
# generate certificates, check bellow
docker run -p 3000:3000 -v ~/data:/databunker/data \
-v ~/certs:/databunker/certs \
-e "DATABUNKER_MASTERKEY=**DATABUNKER_MASTERKEY**" \
--rm --name dbunker paranoidguy/databunker
So, you need to prepare server.crt and server.key files.
You can do the following command to generate one:
cd ~
mkdir -p certs
cd certs
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
-subj "/C=UK/ST=/L=London/O=Your-company Ltd./CN=databunker.your-company.com" \
-keyout server.key -out server.crt
Copy letsencrypt file privkey.pem to ~/certs/server.key
Copy letsencrypt file fullchain.pem file to ~/certs/server.crt
You can download and run a small test script that will create a user record, user app record, user consent, etc...
curl https://raw.githubusercontent.com/paranoidguy/databunker/master/create-test-user.sh -o test.sh
chmod 755 ./test.sh
./test.sh **DATABUNKER_MASTERKEY**
You can now open browser at http://localhost:3000/
Use the following account details:
Email: test@paranoidguy.com
Phone: 4444
Code: 4444