← 블로그
2026-05-04 · self-hosting · passwords

비밀번호 매니저 셀프 호스팅: Vaultwarden 20분 컷

라즈베리파이 $35 또는 리눅스 박스에 Bitwarden 경험을 셀프 호스팅. Docker + HTTPS + 자동 백업까지. 단계별 플레이북.

Vaultwarden은 Bitwarden 서버의 비공식 Rust 재구현. 같은 클라이언트 호환, RAM 1/10, 라즈베리파이 4에서 편하게 동작. bitwarden.com에 vault 안 맡기면서 Bitwarden UX 원하면 이 길.

필요한 것

  • 항상 켜진 작은 머신: 라즈베리파이 4 2GB RAM이면 충분. 월 $5 VPS도 OK.
  • 본인이 관리하는 도메인, DNS가 그 머신 가리킴.
  • 20분.

1단계: Docker

라즈베리파이 OS 또는 Debian 계열 리눅스:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

docker --version으로 확인. 필요시 재부팅.

2단계: Caddy + Vaultwarden

Caddy가 Let's Encrypt로 HTTPS 자동 처리. 깔끔한 단일 파일 세팅은 둘 다 돌리는 docker-compose.yml:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: unless-stopped
    volumes:
      - ./vw-data:/data
    environment:
      DOMAIN: https://vault.example.com
      SIGNUPS_ALLOWED: "true"
  caddy:
    image: caddy:2
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy-data:/data
volumes:
  caddy-data:

같은 디렉토리에 Caddyfile:

vault.example.com {
  reverse_proxy vaultwarden:80
}

vault.example.com을 본인 도메인으로 변경. docker compose up -d 하면 라이브.

3단계: 계정 생성, 그 다음 가입 차단

https://vault.example.com 접속, Create Account 클릭, 강한 마스터 비번 설정. 계정 생긴 후 docker-compose.yml 편집 + SIGNUPS_ALLOWED: "false" 설정 + docker compose up -d 다시. URL 발견한 누군가의 가입 차단.

4단계: 마스터 계정 2FA

Web Vault → Account → Two-step Login. 기본은 TOTP — Aegis 또는 Ente Auth와 페어. 최대 보안엔 Security Keys 아래 YubiKey 추가.

5단계: 클라이언트 설치

Bitwarden 공식 브라우저 확장 + 모바일 앱 + 데스크탑 앱 모두 Vaultwarden과 동작 — 로그인 시 URL을 본인 것으로. 클라이언트 경험은 안 바뀜.

6단계: 백업 (생략 = vault 분실)

vw-data 폴더에 다 있음. 다른 위치로 단순 cron이면 충분:

0 2 * * * tar czf /backup/vw-$(date +\%Y\%m\%d).tar.gz /home/pi/vaultwarden/vw-data

Cryptomator 또는 rclone-crypt와 페어해서 암호화된 아카이브를 클라우드 버킷에 싱크. 복원 절차는 연 1회 테스트 — 테스트 안 한 백업은 백업 아님.

흔한 함정

  • Caddy 인증서 발급 실패: Let's Encrypt 검증 위해 80·443 포트 공개 인터넷에 열려야 함. 가정용 라우터 뒤면 포트 포워딩 필요.
  • Pi 3에서 vault 느림: bcrypt 라운드가 CPU 잡아먹음. Pi 4 이상이 최저선.
  • 마스터 비번 분실: 복구 없음. Vaultwarden이 리셋 못 함. 클라우드 Bitwarden과 같은 트레이드오프, 올바른 선택 — 잊기 전에 비번 적어서 물리적 보관.

셀프 호스팅 vs 클라우드 Bitwarden

셀프 호스팅: 이미 홈 서버 있을 때, 원칙적으로 bitwarden.com 신뢰 거부 시, 또는 그쪽 사업 안 하는 관할 거주.

클라우드 유지: 새 기기에서 열자마자 동작 + 유지보수 0 원할 때. 클라우드 무료 티어 우수. 셀프 호스팅 트레이드오프는 실재, 모두 위한 건 아님.

이 글에 등장한 도구