Tropic Host

Vaultwarden: nedir ve VPS'e nasıl kurulur?

6 dk okuma
Tropic
Vaultwarden: nedir ve VPS'e nasıl kurulur?

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:

  1. Ubuntu'lu bir VPS oluşturun ve örneğin vault.example.com gibi bir alt alan adını ona yönlendirin.
  2. Docker ve Docker Compose'u kurun.
  3. Otomatik HTTPS için Vaultwarden'ı Caddy ile birlikte çalıştırın.
  4. İlk hesabı oluşturun ve açık kayıtları devre dışı bırakın.
  5. İ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?

ParametreBitwarden CloudVaultwarden
SunucuBitwarden altyapısıVPS'iniz veya ev sunucunuz
UygulamalarBitwarden istemcileriSelf-hosted modunda aynı istemciler
BakımSağlayıcı tarafından yapılırSahibi yapar
Yedekler üzerindeki kontrolHizmetle sınırlıTam
KurulumHesap 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 enable

Yeni 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 version

3. Yapılandırmayı oluşturun

mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

compose.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:/config

Caddyfile 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 caddy

https://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 -d

Artı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.com

Bu 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_ALLOWED değ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 -d

Sunucu 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 backup

Veri 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.