Install Bitwarden Self Hosted Ubuntu 22.04
7 min read
—
Written by / Taufik Crisnawan Santoso
PENDAHULUAN
Kita sering sekali mengakses aplikasi website yang terdapat akses login, namun Anda sering lupa karena password setiap aplikasi berbeda-beda atau bahkan menggunakan password template untuk semua aplikasi?
Dalam dunia digital yang semakin maju, kita harus menjaga privasi agar tidak disalah gunakan oleh orang yang tidak bertanggung-jawab, salah satunya yaitu menjaga privasi password akses aplikasi.
Saat menggunakan browser example Google Chrome, terdapat tools seperti "Password Managers" untuk mengelola password aplikasi yang tersimpan pada Google Chrome. Namun jika kita ingin menggunakan browser lain misal "Firefrox", "Safari", atau "Microsoft Edge" kita perlu membuka ekstensi password manager dari Google Chrome terlebih dahulu lalu copy paste, sangat berisiko dan berbahaya jika password tersebut masuk dalam clipboard dan saat digunakan oleh user lain dapat dilihat melalui history clipboard.
Anda tidak perlu repot lagi harus copy paste saat pindah browser saat mengakses aplikasi, Bitwarden Password Manager menawarkan solusi yang mudah kita integrasikan ke berbagai browser, Bitwarden juga terdapat ekstensi yang terintegrasi langsung ke server kita, tentunya membutuhkan akses public untuk mengaksesnya.
Dengan adanya Bitwarden Password Manager kita tidak perlu copy paste lagi password saat mengakses aplikasi, dan dapat digunakan di berbagai platform browser. Tentunya keamanan akan terjamin lebih aman, dan akses login ke aplikasi semakin mudah tanpa perlu mengingat-mengingat banyak password di setiap aplikasinya.
Pada kesempatan kali ini, saya melakukan instalasi Bitwarden pada server Ubuntu 22.04 menggunakan docker compose. Ingin tahu cara installasinya? Baca artikel ini sampai akhir dan implementasikan agar privasi data password Anda lebih aman dan repot lagi harus copy paste.😉
System specifications
Sebelum melakukan instalasi, dipastikan system spesifikasi server Anda mencukupi. Berikut spesifikasi yang dibutuhkan:
Minimum | Recommended | |
---|---|---|
Processor | x64, 1.4GHz | x64, 2GHz dual core |
Memory | 2GB RAM | 4GB RAM |
Storage | 12GB | 25GB |
Docker Version | Engine 26+ and Composeª | Engine 26+ and Composeª |
Point-point pada bagian ini akan langsung menuju ke bagian langkah-langkah instalasi yang lebih detail:
- Konfigurasikan domain Anda. Tambahkan record DNS untuk nama domain yang mengarah ke server Anda, dan buka port 80 dan 443 pada server.
- Instal Docker dan Docker Compose pada server Anda.
- Buat direktori user dan direktori Bitwarden untuk melanjutkan instalasi.
- Create id dan key instalation untuk digunakan dalam instalasi. Untuk informasi lebih lanjut, lihat Untuk apa id instalation dan key instalation saya digunakan?
- Instal Bitwarden pada server Anda.
- Konfigurasikan environment Anda dengan menyesuaikan pengaturan di ./bwdata/env/global.override.env.
Perlu diketahui, konfigurasikan pada variabel globalSettings__mail__smtp... untuk menyiapkan server email untuk mengundang dan memverifikasi pengguna. Kami sarankan menggunakan smtp dari Gmail.
- Start Instance.
- Uji instalasinya dengan membuka domain yang telah dikonfigurasi.
- Setelah digunakan, kami sarankan untuk backup server Anda secara teratur dan memeriksa update system.
Langkah-Langkah Instsalasi
Setelah memenuhi minimum spesifikasi, langsung saja ke instalasinya.
Konfigurasi Domain
Bitwarden ini dapat diakses melalui port 80 (http) dan 443 (https) pada server host. Open port-port ini agar Bitwarden dapat diakses dari dalam dan/atau dari jaringan publik. Selain port 80 (http) dan 443 (https) Anda dapat custom port selama instalasi berlangsung.
Sangat disarankan saat mengkonfigurasi menggunakan nama domain dengan record DNS server host Anda (misalnya, bitwarden.example.com), terutama jika Anda mengakses Bitwarden melalui internet.
Install Docker & Docker Compose
Bitwarden ini dijalankan melalui kontainer pada Docker, dan dapan dijalankan dengan versi atau package Docker apapun. Penempatan kontainer diatur pada Docker Compose. Docker Compose secara otomatis sudah terinstall saat Anda melakukan instalasi Docker Engine.
Membuat User & Directory Bitwarden
- Membuat user Bitwarden:
sudo adduser bitwarden
- Set password User:
sudo passwd bitwarden
- Membuat group docker:
sudo groupadd docker
- Menambahkan user bitwarden ke group docker:
sudo usermod -aG docker bitwarden
- Membuat directory bitwarden:
sudo mkdir /opt/bitwarden
- Set permission untuk directory:
sudo chmod -R 700 /opt/bitwarden
- Set user bitwarden sebagai owner directory:
sudo chown -R bitwarden:bitwarden /opt/bitwarden
Install Bitwarden
Jika Anda membuat directory user dan directory bitwarden, mohon jalankan instalasi ini di user bitwarden pada directory /opt/bitwarden. Jika kalian melakukan instalasi bitwarden sebagai root Anda akan mendapati masalah selama instalasi.
Instalasi ini sangatlah mudah, Bitwarden sudah menyiapkan script instalasi pada Linux dan Windows. Ikuti langkah berikut ini untuk melanjutkan instalasi Bitwarden pada Linux:
- Download script instalasi Bitwarden pada server Anda:
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh
Jika package curl belum terinstall pada server, Anda harus melakukan installasi package curl terlebih dahulu:
sudo apt install curl -y
- Execute script instalasi. Directory ./bwdata akan terbuat secara otomatis pada lokasi bitwarden.sh
./bitwarden.sh install
-
Selesaikan instalasi dengan beberapa pertanyaan berikut:
- Enter the domain name for your Bitwarden instance:
Ketik nama domain yang ingin Anda gunakan. Dipastikan record DNS sudah terkonfigurasi pada DNS Manager Anda.
- Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n):
Ketik Y jika kalian ingin Let's Encrypt untuk membuat SSL Certificate gratis, dan siapkan email sebagai notifikasi pengingat expired dari Let's Encrypt.
- Enter your installation id:
Buatlah ID installasi pada https://bitwarden.com/host menggunakan email Anda.
- Enter your installation key:
Buatlah Key installasi pada https://bitwarden.com/host menggunakan email Anda.
Dipastikan pada langkah 3 & 4 jangan sampai hilang, jika hilang anda akan diminta membuat ID & Key intallasi kembali.
- Enter your region (US/EU):
Pilih negara yang akan digunakan sebagai pembayaran (jika menggunakan lisensi berbayar). Ketik US untuk default negara.
- Do you have a SSL certificate to use? (y/n):
Jika Anda memiliki SSL Certificate sendiri tekan y dan pindah file tersebut pada directory .bwdata/ssl/example.domain.
Tekan n untuk menggunakan self-signed SSL certificate.
- Do you want to generate a self-signed SSL certificate? (y/n):
Tekan y untuk membuat self-signed certificate. Tekan n untuk tidak menggunakan SSL Certificate, namun beberapa services akan tidak berfungsi dengan baik.
Installasi Environment (Required)
Beberapa fitur Bitwarden tidak dikonfigurasi secara otomatis dari bitwarden.sh. Konfigurasikan ini akan dilakukan pada environment, yang terletak di ./bwdata/env/global.override.env..
...
globalSettings__mail__smtp__host=<placeholder>
globalSettings__mail__smtp__port=<placeholder>
globalSettings__mail__smtp__ssl=<placeholder>
globalSettings__mail__smtp__username=<placeholder>
globalSettings__mail__smtp__password=<placeholder>
...
adminSettings__admins=
...
Ganti globalSettingsmailsmtp...= untuk menghubungkan ke mail server SMTP yang akan digunakan untuk mengirim email verifikasi ke pengguna baru dan undangan ke organisasi. Menambahkan alamat email ke adminSettings__admins= akan menyediakan akses ke Portal Administrator Sistem.
Setelah mengedit global.override.env, ketik perintah berikut ini untuk melakukan perubahan:
./bitwarden.sh restart
Installation file
Instalasi Script Bitwarden menggunakan file konfigurasi di ./bwdata/config.yml untuk menghasilkan aset yang diperlukan untuk instalasi. Beberapa instalasi (seperti instalasi di reverse proxy dengan custom port) akan membutuhkan penyesuaian pada config.yml yang tidak disediakan pada instalasi standar.
Setelah melakukan edit file konfigurasi config.yml Anda perlu rebuild untuk melakukan perubahan:
./bitwarden.sh rebuild
Start Bitwarden
Jika semua proses telah dilalui dan tidak terdapat error, start bitwarden:
./bitwarden.sh start
Saat Anda pertama kali memulai Bitwarden, mungkin perlu menunggu beberapa saat karena Bitwarden mendownload semua images dari Docker Hub.
Jika telah selesai semua langkah-langkah diatas, verifikasi semua dengan melakukan perintah:
docker ps
Maka akan muncul status seperti gambar berikut:
Finish
Selamat! Anda telah melakukan instalasi Bitwarden, buka web domain anda, https://bitwarden.example.com). Kunjungi web vault di browser web Anda untuk konfirmasi bahwa Bitwarden berfungsi.
Sekarang Anda dapat mendaftarkan user baru dan login. Anda perlu konfigurasi variabel environment smtp untuk dapat mengkonfirmasi email untuk user baru Anda.
Script commands reference
Command | Description |
---|---|
install | Start the installer. |
start | Start all containers. |
restart | Restart all containers (same as start). |
stop | Stop all containers. |
update | Update all containers and the database. |
updatedb | Update/initialize the database. |
updaterun | Update the run.sh file. |
updateself | Update this main script. |
updateconf | Update all containers without restarting the running instance. |
uninstall | Before this command executes, you will be prompted to save database files. y will create a tarfile of your database including the most recent backup. Stops containers, deletes the bwdata directory and all its contents, and removes ephemeral volumes. After executing, you will be asked whether you also want to purge all Bitwarden images. |
compresslogs | Download a tarball of all server logs, or of server logs in a specified date range, to the current directory. For example, use ./bitwarden.sh compresslogs 20240304 20240305 to download logs from March 4th, 2024 to March 5th, 2024. |
renewcert | Renew certificates. |
rebuild | Rebuild generated installation assets from config.yml. |
help | List all commands. |