빠른 답변
VPS에 Vaultwarden을 직접 호스팅하려면 어떻게 합니까?
VPS에 Vaultwarden을 직접 호스팅하려면 vaultwarden/server 이미지를 Docker Compose로 실행하고, 본인이 소유한 도메인에서 자동 HTTPS를 위해 앞단에 Caddy를 두며, 계정을 만든 뒤 가입을 끄십시오. Gloamport Dusk 요금제(1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic)는 12개월 약정 시 월 $5.25입니다.
Vaultwarden Compose 설정에는 무엇이 들어 있습니까?
| 구성 요소 | 값 | 참고 |
|---|---|---|
| Vaultwarden 이미지 | vaultwarden/server:latest | ./vw-data에 저장된 데이터가 /data에 마운트됨 |
| 리버스 프록시 | caddy:2 | 포트 80, 443 및 443/udp 게시 |
| DOMAIN 변수 | https://vault.example.com | 리버스 프록시 뒤에서는 필수이며, 첨부 파일에는 HTTPS가 필요합니다 |
| 인증서 | Caddy, ACME HTTP-01 챌린지 | 도메인이 포트 80으로 VPS에 도달해야 합니다 |
| 가입 | SIGNUPS_ALLOWED | 계정을 만들 때는 true, 그다음 false |
| 관리자 페이지 | ADMIN_TOKEN | 토큰을 설정하기 전까지 꺼져 있으며, 위키는 argon2 해시를 권장합니다 |
| 권장 요금제 | Dusk: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic | Gloamport 요금제 목록 |
가격 확인일
직접 비밀번호 관리자를 호스팅하는 것이 좋은 생각입니까?
유지 관리, 백업, 패치를 맡을 각오가 있다면 맞습니다. Vaultwarden은 금고를 암호화해 저장하지만, 서버가 누가 로그인할 수 있는지 결정하며, 다른 복사본을 만들지 않는 한 유일한 사본을 보관합니다. 데이터를 잃으면 복구해 줄 제공자가 없습니다.
결정에 영향을 주는 세 가지 사실이 있습니다. 백업이 포함된 요금제는 없습니다. 잃으면 안 되는 자료는 직접 사본을 보관하십시오. 금고는 그것을 담고 있는 VPS만큼만 가용합니다. 따라서 금고를 오프라인으로 내보낸 사본도 보관하십시오. 또한 이 용도로 쓰는 도메인은 DNS와 인증서 로그에 공개되므로, 본인 이름이 들어가지 않은 도메인을 고르십시오. 이 점들을 받아들일 수 있다면 작은 VPS 하나로 충분히 정상적인 자리입니다.
Docker Compose와 Caddy로 Vaultwarden 설치 방법
A 레코드가 VPS를 가리키는 도메인이 필요합니다. 명령은 Debian 13 또는 Ubuntu 24.04에서 실행합니다.
Compose 플러그인과 함께 Docker Engine 설치
Debian 또는 Ubuntu용 Docker 설치 페이지를 따른 다음, 첫 번째 코드 블록의 docker-ce 및 docker-compose-plugin apt 설치 줄을 실행하십시오. docker run hello-world로 확인하십시오.
프로젝트 폴더와 Caddyfile 만들기
vaultwarden 폴더를 만들고 코드 블록의 Caddyfile과 docker-compose.yml을 작성하십시오. vault.example.com을 본인 도메인으로, 이메일을 인증서용 주소로 바꾸십시오. 이 주소는 인증 기관용이며 Gloamport용이 아닙니다.
웹 포트 열기
HTTP-01 챌린지가 인증서를 받으려면 80 포트가 필요하므로, 80과 443이 VPS에 도달해야 합니다. ufw나 다른 방화벽을 쓴다면 SSH와 함께 80/tcp, 443/tcp, 443/udp를 허용하십시오.
스택 시작
폴더에서 docker compose up -d를 실행하십시오. Caddy는 처음 시작할 때 인증서를 요청합니다. https://vault.example.com을 열고 계정을 만드십시오.
가입 차단
compose 파일에서 SIGNUPS_ALLOWED를 "false"로 설정하고 docker compose up -d를 다시 실행하십시오. 이후 새 계정은 초대를 통해서나 본인이 직접 추가할 수 있습니다.
데이터 폴더 백업
마지막 코드 블록의 Vaultwarden 백업 절차를 일정에 따라 사용하고, 사본 하나는 VPS 밖에 보관하십시오.
# After adding Docker's apt repository (docs.docker.com/engine/install/debian/)
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
mkdir -p ~/vaultwarden && cd ~/vaultwarden
# write docker-compose.yml and Caddyfile (below), then:
sudo docker compose up -dservices:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
environment:
DOMAIN: "https://vault.example.com"
EMAIL: "[email protected]"{$DOMAIN} {
tls {$EMAIL}
encode zstd gzip
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}# Optional admin page: hash a long random password, put the result in ADMIN_TOKEN
sudo docker exec -it vaultwarden /vaultwarden hash
# Database backup while the server runs (SQLite online backup)
sqlite3 vw-data/db.sqlite3 ".backup '/root/backups/db-$(date +%Y%m%d-%H%M).sqlite3'"
# Also copy: vw-data/attachments/, vw-data/config.json, vw-data/rsa_key*Vaultwarden 서버에서는 무엇을 백업해야 합니까?
db.sqlite3, attachments 폴더, config.json, rsa_key 파일을 백업하십시오. Vaultwarden 백업 페이지는 db.sqlite3와 attachments를 필수로, config.json과 rsa_key 파일을 권장으로, sends와 아이콘 캐시를 선택 사항으로 나열합니다. 파일이 열려 있는 동안 복사하지 말고 SQLite 자체의 .backup 명령을 사용하라고 설명하며, 파일 시스템이나 VM 스냅샷에 의존하지 말라고 합니다.
이 페이지는 또한 config.json에 일부 평문 비밀 정보가 있으므로 VPS를 떠나기 전에 암호화하라고 경고합니다. 백업은 매일 실행하고, 사본 하나는 다른 곳에 보관하며, 여분의 기기에서 한 번 복원해 작동을 증명하십시오. 1.32.1 이상 버전의 Vaultwarden에는 위키에 나온 내장 백업 명령도 있습니다.
Vaultwarden은 어떤 Gloamport 요금제에서 실행합니까?
시작점으로 삼을 요금제는 Dusk입니다: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic, 12개월 약정 시 월 $5.25, 1개월 결제 시 $10.50. Vaultwarden 위키는 크기 기준을 제시하지 않으며 우리도 벤치마크하지 않았으므로, Dusk를 출발점으로 보십시오. 같은 VPS에서 채팅 서버와 검색 엔진도 운영한다면 Gloam(2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic, 12개월 약정 시 월 $8.25)이 Matrix 서버, Vaultwarden, SearXNG를 함께 운영용으로 나열되어 있습니다.
지금이든 나중이든 신원 확인은 없습니다. 신분증 업로드, 셀카, 주소 증명, 카드, 전화번호 모두 요구하지 않습니다. Gloamport 조사(대상: 2026년 11월 10일) 기준 나열된 49곳 중 28곳은 가입 시 신분증을 요구하지 않습니다. 요금제 및 약정 페이지에서 모든 크기를 확인할 수 있습니다.
관리자 페이지와 서버는 어떻게 보호합니까?
관리자 페이지는 필요하지 않다면 끄고, 다른 무엇보다 먼저 SSH를 보호하십시오. 위키에 따르면 관리자 페이지는 인증 토큰을 설정해야만 존재하며, 토큰이 관리자 영역의 비밀번호 역할을 하고, 켜기 전에 HTTPS가 활성화되어 있어야 합니다. 토큰은 설정에서 단순히 읽히지 않도록 argon2 해시로 저장하라고 권장합니다.
호스트에서는 새 VPS에서 SSH를 강화하는 방법은 무엇입니까?에서처럼 키로만 로그인하는 SSH와 방화벽을 사용하십시오. 비밀번호 관리자 서버는 주요 공격 대상이므로, 이미지를 다시 pull하고 docker compose up -d를 실행해 업데이트를 적용하십시오. 같은 VPS의 다른 서비스는 Matrix 서버를 VPS에서 어떻게 호스팅합니까?를 참조하십시오.
요약
- Vaultwarden은 vaultwarden/server에서 실행되며 데이터는 ./vw-data에 있습니다.
- Caddy는 HTTP-01 챌린지로 HTTPS 인증서를 받으며, 도메인이 80 포트에 도달해야 합니다.
- DOMAIN을 https URL로 설정하십시오. 위키는 첨부 파일에 HTTPS가 필요하다고 설명합니다.
- 계정을 만든 뒤 SIGNUPS_ALLOWED를 false로 설정하십시오.
- 관리자 페이지에는 ADMIN_TOKEN이 필요하며, 위키는 argon2 해시를 권장합니다.
- .backup으로 db.sqlite3를 백업하고, attachments, config.json, rsa_key 파일도 함께 백업하십시오.
- Dusk(12개월 약정 시 월 $5.25)는 시작용 요금제입니다.
Vaultwarden 직접 호스팅: 자주 묻는 질문
도메인 이름이 필요합니까?
예, 여기서 설명하는 구성에서는 그렇습니다. DOMAIN은 https URL이어야 하고, Caddy는 그 이름에 대한 인증서를 받습니다. 위키는 공개 접근이 없는 프라이빗 인스턴스를 위한 DNS 챌린지 경로를 설명합니다.
Vaultwarden은 Bitwarden과 같은 것입니까?
아니요. Vaultwarden은 Bitwarden 클라이언트와 함께 쓰는, 더 가벼운 별도의 서버입니다. Bitwarden 앱을 사용하고 앱에서 본인 서버 주소를 지정합니다.
가입을 막으려면 어떻게 합니까?
본인 계정을 만든 뒤 SIGNUPS_ALLOWED를 false로 설정하고 컨테이너를 다시 만드십시오. 가입이 닫혀 있어도 초대를 통해 사용자를 추가할 수 있습니다.
VPS가 고장 나면 어떻게 됩니까?
백업에서 복원합니다. 백업이 포함된 요금제는 없습니다. 잃으면 안 되는 자료는 직접 사본을 보관하십시오. 암호화된 백업은 VPS 밖에 보관하고, 복원을 한 번 시험하십시오.
Gloamport는 어떤 이미지를 제공합니까?
이미지: Debian 13, Debian 12, Ubuntu 24.04 LTS, AlmaLinux 10, Rocky Linux 10. Docker는 나열된 Debian 13과 Ubuntu 24.04에서 실행됩니다.
출처 (4)
- Vaultwarden 위키: Docker Compose 사용 — Vaultwarden project (checked 2026-11-10)
- Vaultwarden 위키: 관리자 페이지 활성화 — Vaultwarden project (checked 2026-11-10)
- Vaultwarden 위키: 금고 백업 — Vaultwarden project (checked 2026-11-10)
- Debian에 Docker Engine 설치 — Docker Inc. (checked 2026-11-10)