Introduction
Dalam era modern yang serba digital, perlindungan data pribadi menjadi prioritas utama, terutama untuk aplikasi yang menangani data sensitif seperti email, nomor telepon, hingga informasi identitas pengguna.
Untuk menjawab kebutuhan ini, saya mulai mengeksplorasi Databunker — sebuah solusi open-source yang berfungsi sebagai vault data pribadi (PII vault), mendukung regulasi seperti GDPR dan memberikan API sederhana untuk menyimpan, mengelola, dan menghapus data pengguna secara aman.
Di artikel ini, saya akan membahas bagaimana cara deploy Databunker menggunakan Docker, sesuai dengan praktik DevSecOps yang saya jalankan di beberapa proyek. Harapannya, kita bisa langsung mengimplementasikannya di environment staging atau production kita.
Kenapa Memilih Databunker?
- ✅ Menyimpan data PII dengan aman (encrypted at rest).
- ✅ Mendukung compliance seperti GDPR, HIPAA, dan CCPA.
- ✅ Tersedia REST API untuk integrasi ke backend.
- ✅ Mendukung audit trail dan user consent management.
- ✅ Bisa berjalan ringan di Docker, cocok untuk microservices.
Preparation
- Docker
- Database with MySQL

Langkah-Langkah Deploy Databunker dengan Docker
Berikut adalah langkah yang biasa saya lakukan:
- Persiapkan Environment Docker
- Pastikan Docker dan Docker Compose sudah terinstal.
- Buat direktori khusus untuk Databunker.
- Buat file name contoh :
generate-file-mysql-env.sh
#!/bin/sh echo 'creating ./data directory' mkdir -p data chmod 777 data mkdir -p .env echo 'generating .env/mysql-root.env' MYSQLROOT=$(openssl rand -base64 24) # Lebih aman untuk password echo 'MYSQL_ROOT_PASSWORD='$MYSQLROOT > .env/mysql-root.env echo 'generating .env/mysql.env' MYSQLUSER=$(openssl rand -base64 24) echo 'MYSQL_DATABASE=databunkerdb' > .env/mysql.env echo 'MYSQL_USER=bunkeruser' >> .env/mysql.env echo 'MYSQL_PASSWORD='$MYSQLUSER >> .env/mysql.env echo 'generating .env/databunker.env' KEY=$(openssl rand -hex 32) # 64 karakter hex valid echo 'DATABUNKER_MASTERKEY='$KEY > .env/databunker.env echo 'MYSQL_USER=bunkeruser' >> .env/databunker.env echo 'MYSQL_PASSWORD='$MYSQLUSER >> .env/databunker.env echo 'MYSQL_HOST=mysql' >> .env/databunker.env echo 'MYSQL_PORT=3306' >> .env/databunker.env echo 'generating .env/databunker-root.env' echo 'DATABUNKER_ROOTTOKEN=DEMO' > .env/databunker-root.env echo '✅ Environment files generated successfully!'
Hasil generate akan menjadi folder seperti berikut

2. Buat Docker Compose File
- Gunakan image resmi
securitybunker/databunker. - Atur environment variable seperti
DATABUNKER_ADMIN_TOKEN,DATABUNKER_MASTER_KEY.
version: '3'
services:
mysql:
image: mysql/mysql-server
env_file:
- .env/mysql-root.env
- .env/mysql.env
restart: unless-stopped
volumes:
- ./data:/var/lib/mysql
command: --max_connections=4096
ports:
- 3306:3306
# this container's job is to initialize MySQL database. It should run just one time.
databunker-init:
#build: .
image: securitybunker/databunker:latest
env_file:
- .env/databunker.env
- .env/databunker-root.env
depends_on:
- mysql
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 -start -db databunkerdb -conf /databunker/conf/databunker.yaml"
depends_on:
- mysql
ports:
- 3000:3000
3. Akses Dashboard Databunker
- Akses dashboard databuner http://localhost:3000
- Input root token untuk login ke dashboard

- Contoh tampilan dashboard databunker

Hasil store to with databunker

Reference : https://databunker.org/ , next kita akan membahas tentang Integrate Databunker with Golang App for PDP Compliance

Admin website igunawan.com, System Administrator, DevOps Engineer
One Comment