피드로 돌아가기
Dev.toInfrastructure
원문 읽기
RAM 30MB 수준의 경량화 설계로 구현한 Bitwarden 호환 Self-Hosted 보안 저장소
How to Self-Host Vaultwarden with Docker
AI 요약
Context
공식 Bitwarden 서버의 MSSQL 의존성과 다중 컨테이너 구조로 인한 높은 리소스 점유율 및 배포 복잡성 발생. 소규모 VPS 환경에서 운용 가능한 저사양 고효율 서버 아키텍처 필요성 증대.
Technical Solution
- SQLite 기반 단일 데이터베이스 채택을 통한 외부 DB 의존성 제거 및 스토리지 오버헤드 최소화
- 단일 Docker Container 구조 설계를 통한 배포 단순화 및 리소스 격리 효율성 확보
- Reverse Proxy 기반의 SSL 종단점 구성으로 Bitwarden 클라이언트의 HTTPS 강제 연결 요구사항 충족
- WebSocket 프로토콜 지원 설정을 통한 클라이언트 간 실시간 데이터 동기화 메커니즘 구현
- ADMIN_TOKEN 환경 변수 도입 및 SIGNUPS_ALLOWED 제어를 통한 관리자 권한 분리와 비인가 접근 차단 설계
- 클라이언트 사이드 암호화 방식을 통한 서버 침해 시에도 마스터 비밀번호 없이는 데이터 복구가 불가능한 Zero-Knowledge 아키텍처 적용
실천 포인트
1. Reverse Proxy 설정 시 WebSocket 지원 여부 확인
2. 보안 강화를 위한 ADMIN_TOKEN 생성 및 공개 가입(SIGNUPS_ALLOWED) 비활성화
3. 데이터 유실 방지를 위한 정기적인 데이터 볼륨 백업 스케줄링 구성
4. 클라이언트-서버 간 프로토콜 일치를 위한 DOMAIN 환경 변수 정밀 설정