Vaultwarden이란?
Bitwarden의 오픈소스 서버 구현체다. 공식 Bitwarden 앱, 브라우저 확장 프로그램과 100% 호환되면서, 내 서버에서 직접 운영할 수 있다.
구글 비밀번호 관리자를 쭉 써왔는데, 비밀번호를 외부 서비스에 맡기는 게 항상 마음에 걸렸다. 홈서버가 생겼으니 직접 호스팅하기로 했다.
설치
1. 디렉토리 생성
mkdir -p ~/vaultwarden && cd ~/vaultwarden
2. docker-compose.yml 작성
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
ports:
- "11000:80"
volumes:
- vaultwarden_data:/data
environment:
- DOMAIN=https://vault.yourdomain.com
- SIGNUPS_ALLOWED=true
volumes:
vaultwarden_data:
DOMAIN에 실제 접근할 도메인을 설정해야 한다. Vaultwarden이 HTTPS 환경에서 동작한다고 인식해야 브라우저 확장 연동이 정상적으로 된다.
3. 실행
docker compose up -d
OCI Nginx 리버스 프록시 설정
sudo vi /etc/nginx/sites-available/vault.yourdomain.com
server {
listen 80;
server_name vault.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name vault.yourdomain.com;
ssl_certificate /ssl/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /ssl/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://100.109.108.36:11000;
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;
}
}
sudo ln -s /etc/nginx/sites-available/vault.yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
초기 계정 생성
https://vault.yourdomain.com 접속 후 계정을 생성한다.

⚠️ 마스터 비밀번호는 절대 잊으면 안 된다. 서버 관리자도 복구가 불가능하고, 분실하면 저장된 비밀번호 전부 날아간다.
계정 생성 완료 후 신규 가입을 막는다. 혼자 쓰는 서버라 추가 가입이 필요 없다.
docker-compose.yml 수정:
environment:
- SIGNUPS_ALLOWED=false
docker compose up -d
구글 비밀번호 가져오기
1. 구글 비밀번호 내보내기
passwords.google.com 접속 → 우측 상단 설정(⚙️) → 비밀번호 내보내기 → CSV 다운로드
2. Vaultwarden으로 가져오기
vault.yourdomain.com 로그인 → Tools → Import data
- 형식:
Google Chrome (csv)선택 - 다운로드한 CSV 파일 업로드
- Import 클릭
⚠️ CSV 파일에 비밀번호가 평문으로 들어있다. 가져오기 완료 후 즉시 삭제할 것.
브라우저 확장 연동
크롬 웹스토어에서 Bitwarden 확장 프로그램을 설치한다.
확장 아이콘 클릭 → 로그인 화면 좌측 상단 지구본 아이콘 클릭 → Self-hosted 선택
Server URL에 https://vault.yourdomain.com 입력 후 Save.
이후 Vaultwarden 계정으로 로그인하면 기존 구글 자동완성과 동일하게 사이트마다 비밀번호를 자동완성해준다.
정리
- Vaultwarden은 Bitwarden과 완전 호환이라 앱, 확장 프로그램 그대로 쓸 수 있다
DOMAIN환경변수를 HTTPS 도메인으로 설정해야 브라우저 확장이 정상 동작한다- 계정 생성 후
SIGNUPS_ALLOWED=false로 꼭 닫아두자 - 마스터 비밀번호 분실 시 복구 방법이 없으므로 안전하게 보관할 것
다음 편에서는 Portainer CE를 설치해서 Docker 컨테이너를 GUI로 관리하는 환경을 구성한다.