معرفی Vaultwarden
Vaultwarden پیادهسازی مجدد API سرور Bitwarden به زبان Rust است. با اپلیکیشنها و افزونههای رسمی Bitwarden (مرورگر، موبایل، دسکتاپ، خط فرمان) کار میکند و در عین حال منابع بسیار کمی مصرف میکند، به همین دلیل برای یک VPS کوچک مناسب است. توسعهدهندگان، خانوادهها و تیمهای کوچکی از آن استفاده میکنند که میخواهند اطلاعات ورود خود را روی سروری که خودشان کنترل میکنند نگه دارند.
هنگام تحویل، اسکریپت نصب Docker را مستقر کرده و سپس دو کانتینر را با Docker Compose در /opt/vaultwarden اجرا کرده است. Vaultwarden فقط بهصورت محلی (127.0.0.1:8080) گوش میدهد و Caddy رابط کاربری را روی پورت 443 با HTTPS منتشر میکند. دادهها در یک ولوم Docker با نام vw_data ذخیره میشوند.
گواهی خودامضاست (دستور tls internal در Caddy) و به آیپی عمومی سرور وابسته است: تا زمانی که یک دامنه را به آن وصل نکنید، مرورگرتان هشدار نشان میدهد. در ابتدا ثبتنام باز است (SIGNUPS_ALLOWED=true). حساب خود را میسازید و سپس آن را میبندید.
با Vaultwarden چه کارهایی میتوانید انجام دهید
سازگار با کلاینتهای Bitwarden
اپلیکیشنها و افزونههای Bitwarden فقط با وارد کردن آدرس سرور شما به آن متصل میشوند. ابزارهای همیشگیتان را نگه میدارید، بدون سرویس شخص ثالث.
مصرف کم منابع
Vaultwarden که با Rust نوشته شده، روی یک VPS کوچک هم بهراحتی اجرا میشود. برای سرویسهای دیگر روی همان ماشین جا باقی میگذارد.
HTTPS با Caddy
Caddy در شبکه هاست اجرا میشود و رابط کاربری را روی پورت 443 با یک گواهی خودامضا ارائه میدهد. کانتینر Vaultwarden مستقیماً در اینترنت در معرض دید نیست.
استقرار با Docker Compose
کل پیکربندی در
/opt/vaultwarden/docker-compose.ymlوCaddyfileاست. یک ویرایش و سپسdocker compose up -dبرای اعمال آن کافی است.دادهها در یک ولوم اختصاصی
پایگاه داده و فایلهای پیوست در ولوم
vw_dataو جدا از کانتینر قرار دارند. میتوانید ایمیج را بدون دست زدن به گاوصندوقهایتان بهروز کنید.ثبتنامهای قابل کنترل
متغیر
SIGNUPS_ALLOWEDاجازه میدهد پس از ثبتنام کاربرانتان، ساخت حساب را ببندید تا فرد ناشناسی نتواند روی نمونه شما ثبتنام کند.
شروع کار با Vaultwarden
از سفارش تا راهاندازی نهایی، در چند دقیقه.
- 1
سفارش VPS همراه با Vaultwarden
یک VPS لینوکسی (پاریس یا فرانکفورت) با Debian 12، Debian 13 یا Ubuntu 20.04، 22.04، 24.04 انتخاب کنید. در تب Applications فرم سفارش، Vaultwarden را تیک بزنید.
- 2
بررسی نصب پس از تحویل
پس از تحویل چند دقیقه صبر کنید: اسکریپت Docker را نصب میکند و سپس کانتینرها را راهاندازی میکند. با SSH وارد شوید و بررسی کنید که
vaultwardenوcaddyفعال باشند.Bashssh root@SERVER_IP cd /opt/vaultwarden docker compose ps - 3
ساخت حساب اصلی شما
https://SERVER_IP را در مرورگر باز کنید و هشدار مربوط به گواهی خودامضا را بپذیرید. حساب خود را بسازید و سپس ثبتنام را ببندید تا هیچکس دیگری نتواند حسابی بسازد.
Bashsed -i 's/SIGNUPS_ALLOWED=true/SIGNUPS_ALLOWED=false/' /opt/vaultwarden/docker-compose.yml cd /opt/vaultwarden && docker compose up -d - 4
رفتن به دامنه با HTTPS معتبر
یک رکورد A برای YOUR_DOMAIN به SERVER_IP بسازید. در Caddyfile بلوک را با YOUR_DOMAIN و بدون
tls internalجایگزین کنید، در docker-compose.yml مقدارDOMAIN=https://YOUR_DOMAINرا بگذارید، پورتهای 80 و 443 را باز کنید و سپس دوباره راهاندازی کنید.Bashcd /opt/vaultwarden nano Caddyfile nano docker-compose.yml ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp docker compose up -d --force-recreate
کاربردهای Vaultwarden
گاوصندوق شخصی یا خانوادگی
رمزهای عبور، یادداشتهای امن و کدهای بازیابی خانوادهتان را روی سرور خودتان میزبانی میکنید و از همه دستگاههایتان به آن دسترسی دارید.
مدیریت دسترسیهای یک تیم کوچک
اطلاعات ورود (دسترسی به سرورها، حسابهای SaaS، کلیدهای API) را از طریق سازمانها و کالکشنهای Bitwarden بین چند همکار به اشتراک میگذارید.
جایگزین اشتراک ابری
یک مدیر رمز عبور میزبانیشده نزد شخص ثالث را کنار میگذارید و همان کلاینت Bitwarden را نگه میدارید، با دادههایتان روی یک VPS در اروپا.
جزئی از یک سرور ابزارهای داخلی
به لطف مصرف کم حافظه، گاوصندوق را کنار سایر سرویسهای خودمیزبان روی همان VPS قرار میدهید.
پرسشهای متداول درباره Vaultwarden
گواهی را Caddy (tls internal) برای آیپی سرور تولید میکند، بنابراین هیچ مرجع عمومی آن را امضا نکرده است. برای ساخت حساب میتوانید آن را بپذیرید. برای استفاده بلندمدت، یک دامنه وصل کنید و بگذارید Caddy گواهی معتبر دریافت کند.
درباره Vaultwarden بیشتر بدانید
فایلها و سرویسهایی که باید بشناسید
همهچیز در /opt/vaultwarden است: اسکریپت install-vaultwarden.sh، فایل docker-compose.yml و Caddyfile. سه ولوم Docker عبارتاند از vw_data (دادههای شما)، caddy_data (گواهیها) و caddy_config. هر دو کانتینر بهطور خودکار دوباره راهاندازی میشوند (restart: always).
استفاده از دامنه
گواهی ارائهشده هنگام تحویل خودامضاست و به آیپی وابسته است. اپلیکیشنهای موبایل و برخی افزونهها ممکن است چنین گواهیای را نپذیرند: بنابراین برای استفاده روزمره، دامنهای با گواهی معتبر توصیه میشود. با یک دامنه (به دامنههای ما نگاه کنید)، یک Caddyfile حداقلی شبیه این است:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:8080
}
در این صورت Caddy میتواند یک گواهی عمومی دریافت کند، به شرطی که DNS به سرور اشاره کند و پورتهای 80 و 443 در دسترس باشند. پس از ویرایش، با docker compose restart caddy دوباره راهاندازی کنید. فراموش نکنید متغیر DOMAIN در Vaultwarden را هم هماهنگ کنید.
بکاپها
از ولوم vw_data بکاپ بگیرید: این ولوم شامل پایگاه داده SQLite، کلیدها و فایلهای پیوست است. نام دقیق ولوم به پوشه پروژه بستگی دارد، آن را با docker volume ls بررسی کنید (باید vaultwarden_vw_data نام داشته باشد).
docker run --rm -v vaultwarden_vw_data:/data -v /root:/backup alpine tar czf /backup/vw-backup.tgz -C /data .
سپس آرشیو را به خارج از سرور کپی کنید. بکاپی که روی همان VPS بماند، شما را در برابر از دست رفتن ماشین محافظت نمیکند. آموزشهای بخش /learn میتوانند به خودکارسازی این مرحله کمک کنند.
بهروزرسانیها
ایمیج مورد استفاده vaultwarden/server:latest است. برای رفتن به آخرین نسخه، ابتدا بکاپ بگیرید و سپس:
cd /opt/vaultwarden
docker compose pull
docker compose up -d
