คำตอบแบบสั้น
ฉันจะโฮสต์ Vaultwarden เองบน VPS ได้อย่างไร?
หากต้องการโฮสต์ Vaultwarden เองบน VPS ให้รัน image vaultwarden/server ด้วย Docker Compose วาง Caddy ไว้ด้านหน้าเพื่อ HTTPS อัตโนมัติบนโดเมนที่คุณเป็นเจ้าของ แล้วสร้างบัญชีของคุณ จากนั้นปิดการสมัคร แพ็กเกจ Dusk ของ Gloamport ที่ 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic มีราคา $5.25 ต่อเดือนในสัญญา 12 เดือน
การตั้งค่า Compose ของ Vaultwarden มีอะไรบ้าง?
| ส่วน | ค่า | หมายเหตุ |
|---|---|---|
| image ของ Vaultwarden | vaultwarden/server:latest | ข้อมูลถูกเก็บใน ./vw-data ซึ่ง mount ที่ /data |
| reverse proxy | caddy:2 | พอร์ต 80, 443 และ 443/udp ที่เผยแพร่ |
| ตัวแปร DOMAIN | https://vault.example.com | จำเป็นหลัง reverse proxy HTTPS จำเป็นสำหรับไฟล์แนบ |
| ใบรับรอง | Caddy ใช้ ACME HTTP-01 challenge | โดเมนต้องเข้าถึง VPS ได้ที่พอร์ต 80 |
| การสมัคร | SIGNUPS_ALLOWED | True เพื่อสร้างบัญชีของคุณ แล้วตั้งเป็น false |
| หน้าผู้ดูแล | ADMIN_TOKEN | ปิดอยู่จนกว่าจะตั้ง token วิกิแนะนำแฮช argon2 |
| แพ็กเกจที่แนะนำ | Dusk: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic | รายการแพ็กเกจของ Gloamport |
ตรวจสอบราคาเมื่อ
การโฮสต์ตัวจัดการรหัสผ่านของตัวเองเป็นความคิดที่ดีหรือไม่?
เหมาะกับคุณหากคุณยอมรับงานดูแลให้มันทำงาน มีการสำรองข้อมูล และอัปเดตอยู่เสมอ Vaultwarden เก็บตู้นิรภัยของคุณในรูปแบบเข้ารหัส แต่เซิร์ฟเวอร์ยังตัดสินว่าใครล็อกอินได้ และเก็บสำเนาเดียวไว้ เว้นแต่คุณจะทำสำเนาให้คนอื่น หากข้อมูลหาย จะไม่มีผู้ให้บริการที่กู้คืนให้ได้
มีสามข้อเท็จจริงที่กำหนดการตัดสินใจนี้ ไม่มีแพ็กเกจใดรวมการสำรองข้อมูล: ให้เก็บสำเนาของสิ่งที่คุณสูญเสียไม่ได้ไว้เอง ตู้นิรภัยพร้อมใช้งานได้เท่ากับ VPS ที่บรรจุมัน ดังนั้นเก็บการส่งออกตู้นิรภัยแบบออฟไลน์ไว้ด้วย และโดเมนที่คุณใช้สาธารณะใน DNS และในล็อกใบรับรอง จึงควรเลือกโดเมนที่ไม่มีชื่อของคุณ หากข้อเท็จจริงเหล่านี้ยอมรับได้ VPS ขนาดเล็กเครื่องเดียวก็เป็นที่อยู่ปกติของมัน
วิธีติดตั้ง Vaultwarden ด้วย Docker Compose และ Caddy
คุณต้องมีโดเมนที่ระเบียน A ชี้ไปยัง VPS คำสั่งรันบน Debian 13 หรือ Ubuntu 24.04
ติดตั้ง Docker Engine พร้อมปลั๊กอิน Compose
ทำตามหน้าการติดตั้ง Docker สำหรับ Debian หรือ Ubuntu แล้วรันคำสั่ง apt install สำหรับ docker-ce และ docker-compose-plugin จากบล็อกโค้ดแรก ตรวจด้วย docker run hello-world
สร้างโฟลเดอร์โปรเจกต์และ Caddyfile
สร้างโฟลเดอร์ vaultwarden แล้วเขียน Caddyfile และ docker-compose.yml จากบล็อกโค้ด แทนที่ vault.example.com ด้วยโดเมนของคุณ และอีเมลด้วยที่อยู่สำหรับใบรับรอง ที่อยู่นี้สำหรับหน่วยงานออกใบรับรอง ไม่ใช่สำหรับ Gloamport
เปิดพอร์ตเว็บ
พอร์ต 80 และ 443 ต้องเข้าถึง VPS ได้: HTTP-01 challenge ต้องใช้พอร์ต 80 เพื่อขอใบรับรอง หากคุณใช้ ufw หรือไฟร์วอลล์อื่น ให้อนุญาต 80/tcp, 443/tcp และ 443/udp นอกเหนือจาก SSH
เริ่มสแต็ก
รัน docker compose up -d ในโฟลเดอร์ Caddy ขอใบรับรองเมื่อเริ่มครั้งแรก เปิด https://vault.example.com แล้วสร้างบัญชีของคุณ
ปิดการสมัคร
ตั้ง SIGNUPS_ALLOWED เป็น "false" ในไฟล์ compose แล้วรัน 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 กับแคชไอคอนเป็นตัวเลือก หน้านั้นบอกให้ใช้คำสั่ง .backup ของ SQLite เองแทนการคัดลอกไฟล์ขณะที่ไฟล์เปิดอยู่ และให้หลีกเลี่ยงการพึ่งพาสแนปชอตของระบบไฟล์หรือ VM
หน้าเดียวกันเตือนว่า config.json มีความลับแบบข้อความธรรมดาบางส่วน ดังนั้นให้เข้ารหัสก่อนที่มันจะออกจาก VPS รันการสำรองทุกวัน เก็บสำเนาหนึ่งชุดไว้ที่อื่น และกู้คืนหนึ่งครั้งบนเครื่องสำรองเพื่อพิสูจน์ว่าใช้งานได้ Vaultwarden ตั้งแต่เวอร์ชัน 1.32.1 มีคำสั่งสำรองในตัวที่วิกิกล่าวถึง
แพ็กเกจของ Gloamport ใดรัน Vaultwarden?
Dusk คือแพ็กเกจที่เราจะเริ่มจาก: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic ที่ $5.25 ต่อเดือนในสัญญา 12 เดือน และ $10.50 สำหรับรายเดือนเดียว วิกิของ Vaultwarden ไม่ให้ตัวเลขขนาดเครื่อง และเรายังไม่ได้ทดสอบประสิทธิภาพ ดังนั้นให้ถือว่า Dusk เป็นจุดเริ่มต้น หากคุณรันเซิร์ฟเวอร์แชทและเครื่องมือค้นหาบน VPS เดียวกันด้วย Gloam (2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic, $8.25 ต่อเดือนในสัญญา 12 เดือน) ได้รับการระบุว่าเหมาะกับ เซิร์ฟเวอร์ Matrix, Vaultwarden และ SearXNG รวมกัน
ไม่มีการตรวจสอบตัวตนทั้งตอนนี้และภายหลัง: ไม่อัปโหลดบัตรประชาชน ไม่ถ่ายภาพเซลฟี่ ไม่มีหลักฐานที่อยู่ ไม่มีบัตร และไม่มีหมายเลขโทรศัพท์ ตามการสำรวจของ Gloamport เกี่ยวกับ 10 พฤศจิกายน 2569 มี 28 จาก 49 ผู้ให้บริการที่ระบุไว้ ที่ไม่ขอเอกสารยืนยันตัวตนตอนสมัคร แผนและเงื่อนไข หน้านี้แสดงทุกขนาด
คุณปกป้องหน้าผู้ดูแลและเซิร์ฟเวอร์อย่างไร?
ปิดหน้าผู้ดูแลไว้เว้นแต่คุณต้องใช้ และทำให้ SSH ปลอดภัยก่อนสิ่งอื่น วิกิระบุว่าหน้าผู้ดูแลจะมีอยู่เฉพาะเมื่อตั้ง token การยืนยันตัวตนแล้ว token นั้นทำหน้าที่เป็นรหัสผ่านของพื้นที่ผู้ดูแล และควรเปิด HTTPS ก่อนเปิดใช้งาน วิกิแนะนำให้เก็บ token เป็นแฮช argon2 เพื่อไม่ให้อ่านได้ตรงๆ จากไฟล์ตั้งค่า
บนโฮสต์ ให้ใช้ SSH ที่ใช้คีย์เท่านั้นและไฟร์วอลล์ ตาม วิธีทำให้ SSH แข็งแรงบน VPS ใหม่? เซิร์ฟเวอร์ตัวจัดการรหัสผ่านเป็นเป้าหมายหลัก ดังนั้นให้อัปเดตโดยดึง image ใหม่และรัน docker compose up -d สำหรับบริการที่สองบน VPS เดียวกัน ดู วิธีโฮสต์เซิร์ฟเวอร์ Matrix บน VPS?
สรุป
- Vaultwarden รันจาก vaultwarden/server โดยข้อมูลอยู่ใน ./vw-data
- Caddy ขอใบรับรอง HTTPS ด้วย HTTP-01 challenge โดเมนต้องเข้าถึงพอร์ต 80 ได้
- ตั้ง DOMAIN เป็น URL แบบ https วิกิระบุว่าต้องใช้ HTTPS สำหรับไฟล์แนบ
- สร้างบัญชีของคุณ แล้วตั้ง SIGNUPS_ALLOWED เป็น false
- หน้าผู้ดูแลต้องใช้ ADMIN_TOKEN วิกิแนะนำแฮช argon2
- สำรอง db.sqlite3 ด้วย .backup พร้อม attachments, config.json และไฟล์ rsa_key
- Dusk $5.25 ต่อเดือนในสัญญา 12 เดือน เป็นแพ็กเกจเริ่มต้น
การโฮสต์ Vaultwarden เอง: คำถามที่พบบ่อย
ฉันต้องมีชื่อโดเมนหรือไม่?
ใช่สำหรับการตั้งค่านี้ DOMAIN ต้องเป็น URL แบบ https และ Caddy ขอใบรับรองสำหรับชื่อนั้น วิกิอธิบายเส้นทาง DNS-challenge สำหรับอินสแตนซ์ส่วนตัวที่ไม่มีการเข้าถึงสาธารณะ
Vaultwarden เหมือนกับ Bitwarden หรือไม่?
ไม่ Vaultwarden คือเซิร์ฟเวอร์แยกต่างหากที่เบากว่า และทำงานกับไคลเอนต์ของ Bitwarden คุณใช้แอป Bitwarden และชี้ไปยังที่อยู่เซิร์ฟเวอร์ของคุณเอง
ฉันจะหยุดไม่ให้คนอื่นสร้างบัญชีได้อย่างไร?
ตั้ง SIGNUPS_ALLOWED เป็น false หลังจากคุณสร้างบัญชีของคุณแล้ว จากนั้นสร้างคอนเทนเนอร์ใหม่ การเชิญยังเพิ่มผู้ใช้ได้เมื่อปิดการลงทะเบียน
หาก VPS ล่มจะเกิดอะไรขึ้น?
คุณกู้คืนจากการสำรองของคุณ ไม่มีแพ็กเกจใดรวมการสำรองข้อมูล: ให้เก็บสำเนาของสิ่งที่คุณสูญเสียไม่ได้ไว้เอง เก็บการสำรองที่เข้ารหัสไว้นอก VPS และทดสอบการกู้คืนหนึ่งครั้ง
Gloamport มี image อะไรบ้าง?
Image: 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)
- ติดตั้ง Docker Engine บน Debian — Docker Inc. (checked 2026-11-10)