Tüm yazılar

bitwarden · passwords · manager · npm

Bitwarden (vaultwarden) password manager kurulumu

Halil Yaşarsoy · 22 Eylül 2022

0

Docker + Portainer + Nginx Proxy Manager + Bitwarden (vaultwarden) On-prem sunucunuzda şifrelerinizi saklayabileceğiniz açık kaynak kodlu bir yazılımdır.

Ben kurulum da ParrotOS kullanacağım fakat aynı kurulum yönlendirmeleri ile ubuntu üzerine de kurabilirsiniz.

Güncellemeleri uygulayarak başlıyoruz

sudo apt-get update & apt-get upgrade

Docker kurulumunu yapıyoruz

curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh

Docker-compose kurulumu yapıyoruz

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

Docker ‘ın yönetimi için portainer kurulumu yapıyoruz. Diğer işlemlere portainer üzerinden devam edeceğiz.

sudo docker volume create portainer_datadocker run -d -p 8000:8000 -p 9443:9443 --name portainer \    --restart=always \    -v /var/run/docker.sock:/var/run/docker.sock \    -v portainer_data:/data \    portainer/portainer-ce:latest

https://IP:9443 adresinden portainer’a bağlanıyoruz.

Şifre belirledikten sonra arayüze bağlanmış olacağız.

Şifre belirledikten sonra arayüze bağlanmış olacağız.

Stacks -> Add stack diyoruz

Stacks -> Add stack diyoruz

Aşağıdaki kodları kendimize göre düzenleyip Deploy the stack butonuna basıyoruz

Aşağıdaki kodları kendimize göre düzenleyip Deploy the stack butonuna basıyoruz

version: '3'services:  bitwarden:    image: vaultwarden/server:latest    restart: always    ports:      - 8060:80      - 3012:3012    volumes:      - bw-data:/data      - /etc/localtime:/etc/localtime:ro      - /etc/timezone:/etc/timezone:ro      - bw-data:/log      - LOG_FILE=/log/bitwarden.log    environment:      - WEBSOCKET_ENABLED=true      - SIGNUPS_ALLOWED=false      - ADMIN_TOKEN=AdminPassword123      - INVITATIONS_ALLOWED=true      - SHOW_PASSWORD_HINT=false
nginx-proxy-manager:    image: 'jc21/nginx-proxy-manager:latest'    ports:      - '80:80'      - '81:81'      - '443:443'    environment:      DB_MYSQL_HOST: "db"      DB_MYSQL_PORT: 3306      DB_MYSQL_USER: "npm"      DB_MYSQL_PASSWORD: "npm"      DB_MYSQL_NAME: "npm"    volumes:      - ./data:/data      - ./letsencrypt:/etc/letsencrypt
db:    image: 'jc21/mariadb-aria:latest'    environment:      MYSQL_ROOT_PASSWORD: 'npm'      MYSQL_DATABASE: 'npm'      MYSQL_USER: 'npm'      MYSQL_PASSWORD: 'npm'    volumes:      - ./data/mysql:/var/lib/mysql
volumes:     bw-data:

Ngnix ayarları aşağıdaki gibidir. Eklemiş olduğunuz alan adının detaylarını düzenleyerek eklediğinizde çalışacaktır.

Admin paneline sadece lokal den erişelecek şekilde ayarlanmıştır.

location /admin {  return 404;  }  location / {    proxy_pass http://IP:8060;    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header X-Forwarded-Proto $scheme;    proxy_ssl_server_name on;  }    location /notifications/hub {    proxy_pass http://IP:3012;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection "upgrade";  }    location /notifications/hub/negotiate {    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header X-Forwarded-Proto $scheme;    proxy_pass http://IP:8060;  }

Bu yazı işine yaradıysa alkışla

0

Bu yazı ilk olarak Medium'da yayımlandı.