Vaultwarden: VPS üzerinde kendi parola yöneticinizi kurma
Vaultwarden, parolalarınızı kendi sunucunuzda saklamanıza ve bilgisayarınız, telefonunuz ve tarayıcınız arasında eşzamanlamanıza olanak tanır. Kendi sunucunuzun adresini belirttiğiniz resmî Bitwarden uygulamaları ve eklentileriyle çalışır.
Aşağıda Vaultwarden'ın nasıl bir VPS'e ihtiyaç duyduğunu, Ubuntu üzerinde Docker Compose ile nasıl çalıştırılacağını, açık kayıtların nasıl kapatılacağını, HTTPS'in nasıl etkinleştirileceğini ve yedeklerin nasıl yapılandırılacağını inceleyeceğiz.
Vaultwarden beş adımda
Minimum başlatma planı şöyledir:
- Ubuntu'lu bir VPS oluşturun ve örneğin
vault.example.comgibi bir alt alan adını ona yönlendirin. - Docker ve Docker Compose'u kurun.
- Otomatik HTTPS için Vaultwarden'ı Caddy ile birlikte çalıştırın.
- İlk hesabı oluşturun ve açık kayıtları devre dışı bırakın.
- İki faktörlü kimlik doğrulamayı, güncellemeleri ve yedekleri etkinleştirin.
Kişisel bir kasa veya küçük bir aile için yerleşik SQLite veritabanı yeterlidir. Ayrı bir PostgreSQL sunucusu genellikle gereksizdir.
Vaultwarden nedir?
Vaultwarden, Rust ile yazılmış ve self-hosted dağıtım için tasarlanmış, Bitwarden API'sinin resmî olmayan bir sunucu uygulamasıdır. Resmî Bitwarden istemcileriyle uyumludur: web arayüzü, mobil ve masaüstü uygulamaları, tarayıcı eklentileri ve CLI.
Kasa verileri sunucuya gönderilmeden önce kullanıcının cihazında şifrelenir. VPS şifreli veritabanını eşzamanlar, ancak ana parolayı bilmez ve parola kaybedilirse onu kurtaramaz.
Vaultwarden resmî bir Bitwarden ürünü değildir. Güncellemelerden, erişilebilirlikten, HTTPS'ten, yedeklerden ve VPS güvenliğinden bizzat sahibi sorumludur.
Vaultwarden ve Bitwarden: fark nedir?
| Parametre | Bitwarden Cloud | Vaultwarden |
|---|---|---|
| Sunucu | Bitwarden altyapısı | VPS'iniz veya ev sunucunuz |
| Uygulamalar | Bitwarden istemcileri | Self-hosted modunda aynı istemciler |
| Bakım | Sağlayıcı tarafından yapılır | Sahibi yapar |
| Yedekler üzerindeki kontrol | Hizmetle sınırlı | Tam |
| Kurulum | Hesap kaydı | Alan adı, Docker ve VPS yapılandırması |
Vaultwarden, sunucu tarafını kontrol etmek isteyen ve Linux'u güncellemeye, yedekleri doğrulamaya hazır olan kişiler için uygundur. Yönetimle uğraşmak istemiyorsanız bir bulut hizmeti daha pratiktir. Self-hosting sistemi otomatik olarak güvenli hâle getirmez; sorumluluğu sahibine aktarır.
Vaultwarden sunucu gereksinimleri
Kişisel kullanım için makul bir başlangıç yapılandırması şöyledir:
- 1 vCPU;
- 1–2 GB RAM;
- 10–20 GB SSD veya NVMe;
- Ubuntu 24.04 LTS;
- genel IP adresi ve alan adı;
- 80 ve 443 portları açık.
Bu, katı bir proje minimumu değil; Ubuntu, Docker, Caddy ve güncellemeler için pratik bir paydır. Onlarca kullanıcı, çok sayıda ek veya birkaç container için en az 2 GB RAM seçmek daha iyidir.
VPS'e Vaultwarden nasıl kurulur?
Bu örnekte Ubuntu 24.04 ve vault.example.com alt alan adı kullanılır. Tüm dosyalarda bunu kendi adresinizle değiştirin.
1. DNS'i yapılandırın ve Ubuntu'yu hazırlayın
VPS'in IPv4 adresini gösteren bir A DNS kaydı oluşturun. Ardından SSH ile bağlanın:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableYeni bağlantının çalıştığını doğrulayana kadar mevcut SSH oturumunu kapatmayın.
2. Docker ve Docker Compose'u kurun
Resmî Docker deposunu ekleyin:
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. Yapılandırmayı oluşturun
mkdir -p /opt/vaultwarden
cd /opt/vaultwardencompose.yaml dosyasını oluşturun:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
caddy:
image: caddy:2-alpine
container_name: vaultwarden-caddy
restart: unless-stopped
depends_on:
- vaultwarden
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/configCaddyfile dosyasını oluşturun:
vault.example.com {
reverse_proxy vaultwarden:80
}Dışarıya yalnızca Caddy açılır. Vaultwarden container'ına Docker ağı içinden erişilir ve veriler /opt/vaultwarden/vw-data içinde saklanır. Mevcut kurulumda ayrı bir WebSocket portu gerekmez.
4. Vaultwarden'ı başlatın
docker compose up -d
docker compose ps
docker compose logs --tail=100 caddyhttps://vault.example.com adresini açın. DNS zaten VPS'i gösteriyor ve 80 ile 443 portlarına erişilebiliyorsa Caddy otomatik olarak bir TLS sertifikası alır. Site açılmazsa DNS'i, güvenlik duvarını ve bu portları başka bir web sunucusunun kullanıp kullanmadığını kontrol edin.
5. Hesap oluşturun ve kayıtları kapatın
İlk hesabı kaydedin. Uzun ve benzersiz bir ana parola kullanın, ayrıca Vaultwarden dışında acil durum için bir kopya tutun: sunucu yöneticisi ana parolayı sıfırlayamaz veya kurtaramaz.
Kayıttan sonra compose.yaml içindeki değeri değiştirin:
SIGNUPS_ALLOWED: "false"Ayarı uygulayın:
docker compose up -dArtık başka kişiler hesap oluşturamaz. Yeni kullanıcı eklemek için kayıtları geçici olarak etkinleştirebilir veya davetleri yapılandırabilirsiniz.
Bitwarden uygulaması nasıl bağlanır?
Ayrı bir Vaultwarden istemcisi kurmanız gerekmez. Bitwarden uygulamasının veya eklentisinin oturum açma ekranında Self-hosted seçeneğini belirleyin ve şunu girin:
https://vault.example.comBu adresi bilgisayarınızda, telefonunuzda ve tarayıcınızda kullanın. Taşınmak için önceki parola yöneticinizden aldığınız dışa aktarma dosyasını içe aktarın. Şifrelenmemiş CSV veya JSON dosyasını aktarımın hemen ardından silin; bu dosyayı e-posta veya herkese açık bağlantılarla göndermeyin.
Güvenli Vaultwarden yapılandırması
Başlatmadan sonra birkaç adım atın:
- TOTP veya WebAuthn'ı etkinleştirin ve kurtarma kodlarını ayrı yerde saklayın;
SIGNUPS_ALLOWEDdeğerini devre dışı bırakılmış durumda tutun;- SSH anahtarları kullanın ve Ubuntu'yu düzenli olarak güncelleyin;
- Vaultwarden container'ının dahili portunu internete açmayın;
- aynı VPS'te güven vermeyen container'ları çalıştırmayın;
- yedeklerin geri yüklenebildiğini doğrulayın.
Kişisel bir kasa için /admin paneli genellikle gereksizdir. Etkinleştirirseniz Argon2 hash biçiminde uzun bir token kullanın ve mümkünse erişimi IP adresi veya VPN ile sınırlandırın. Düz metin ADMIN_TOKEN saklamak önerilmez.
Güncellemeden önce yedek alın, ardından şunları çalıştırın:
cd /opt/vaultwarden
docker compose pull
docker compose up -dSunucu düzenli olarak güncellenmelidir: Bitwarden istemcileri bağımsız şekilde yayımlanır, bu nedenle çok eski bir Vaultwarden sürümüyle uyumluluk kaybedilebilir.
Vaultwarden yedekleme
Ana SQLite veritabanı vw-data/db.sqlite3 konumunda, ekler ise ayrı dosyalar olarak saklanır. Çalışan bir veritabanını sıradan cp komutuyla kopyalamayın: o anda gerçekleşen yazma işlemi kopyayı tutarsız hâle getirebilir.
Yerleşik komutla güvenli bir anlık görüntü oluşturun:
docker exec vaultwarden /vaultwarden backupVeri dizininde ayrı bir db_.sqlite3 dosyası görünür. Bununla birlikte attachments, sends, oluşturulduysa config.json ve rsa_key dosyalarını da kaydedin.
Aynı VPS'teki yedek, sunucunun silinmesine veya disk arızasına karşı koruma sağlamaz. Kopyaları otomatik olarak başka bir cihaza veya ayrı bir object storage'a, tercihen ek şifrelemeyle gönderin. Düzenli aralıklarla test amaçlı geri yükleme yapın.
Vaultwarden için hangi VPS seçilmeli?
2 GB RAM'e sahip temel bir Linux VPS kişisel veya aile kasası için yeterlidir. Bu kapasite Ubuntu, Docker, Caddy, güncellemeler ve otomatik yedekler için ek pay sağlar.
Vaultwarden'ı tropic.host üzerinde giriş seviyesi bir VPS'te çalıştırabilir, sunucuya başka self-hosted hizmetler eklediğinizde kaynakları daha sonra artırabilirsiniz. Bir parola yöneticisi için ek CPU çekirdeklerinden çok kararlı ağ, kalıcı genel adres ve güvenilir disk önemlidir.
Ev sunucusu da uygundur, ancak bu durumda dış erişim, HTTPS, kararlı elektrik ve arızalardan sonra kurtarma işlemlerini sizin sağlamanız gerekir. Kasanın her ağdan çalışması gerekiyorsa VPS genellikle daha basittir.
Sonuç
Vaultwarden, sunucu tarafını kendi altyapısında tutarken Bitwarden istemcilerini kullanmak isteyenler için kullanışlı bir self-hosted parola yöneticisidir. Başlamak için küçük bir VPS, alan adı, Docker Compose ve Caddy yeterlidir.
Asıl sorumluluk kurulumdan sonra başlar: kayıtları kapatın, 2FA'yı etkinleştirin, container'ları güncelleyin ve sunucu dışında test edilmiş yedekler tutun.
SSS
Vaultwarden alan adı olmadan kurulabilir mi?
Teknik olarak yerel bir adres kullanabilirsiniz, ancak web kasası güvenli bir HTTPS bağlamı gerektirir. Farklı cihazlardan erişim için alan adı ve TLS sertifikası kullanmak daha basittir.
Vaultwarden ne kadar RAM gerektirir?
Bir veya birkaç kullanıcı için 1 GB RAM genellikle yeterlidir. 2 GB'lık bir VPS sistem, Docker, Caddy ve güncellemeler için daha rahat bir pay sunar.
Vaultwarden Bitwarden mobil uygulamasıyla çalışır mı?
Evet. Oturum açma ekranında self-hosted sunucuyu seçin ve Vaultwarden kurulumunuzun tam HTTPS adresini girin.
VPS geçici olarak kullanılamazsa ne olur?
Daha önce eşzamanlanmış veriler genellikle istemcinin yerel şifreli önbelleğinde kalır. Ancak sunucu geri yüklenene kadar eşzamanlama, yeni bir cihazda oturum açma ve değişiklikleri alma çalışmaz.
Unutulan ana parola /admin üzerinden kurtarılabilir mi?
Hayır. Yönetici sunucuyu ve hesapları yönetebilir, ancak kullanıcının kasasının şifre çözme anahtarına sahip değildir. Ana parola ve kurtarma kodları ayrı yerde saklanmalıdır.
