Skip to main content
  1. Building Your Own Server/

Vaultwarden - Self-Hosted Password Manager

·713 words·4 mins

Vaultwarden (formerly Bitwarden_RS) is a self-hosted password manager that gives you complete control over your sensitive credentials. Unlike cloud-based password managers that require subscriptions and store your data on corporate servers, Vaultwarden keeps your passwords private and under your control.

Vaultwarden

Why Vaultwarden:

  • Your Secrets, Your Control: Your passwords belong to you, not a corporation.
  • Privacy First: Your passwords, credit cards, and secure notes stay on your own server. You won’t be caught up in massive password breaches
  • Cross-Platform: Sync across all your devices with official apps
  • Open Source: Transparent, community-driven, and free to use

Resources
#

Installation Prep
#

Before installing Vaultwarden, ensure you have the following ready:

  • Operating System: Linux Mint
  • Container Runtime: Docker & Docker Compose
  • Hardware: Minimum 1GB RAM, 1GB Disk Space
  • Network: Accessible from your local network (for web access)
  • Domain (Optional): A domain name for HTTPS access (For advanced users)

Time to Complete
#

  • Total Time: ~20 minutes
    • 5 min: File system prep
    • 5 min: Docker setup
    • 5 min: Download Vaultwarden image
    • 5 min: Initial setup and configuration
  • Difficulty: Beginner
  • Note: This is an initial setup. Future updates will take only a few minutes.

Installation
#

Step 1: File System Prep
#

We need to create the directories to keep the docker-compose file and Vaultwarden data.

Create the Vaultwarden directory

mkdir -p ~/docker/vaultwarden/

Create the folders where your data will live:

mkdir -p ~/docker/vaultwarden/data

This creates the following structure:

/home/USER/docker/vaultwarden/data/    # Vaultwarden database and attachments

Step 2: Docker Setup
#

Make sure you are in your Vaultwarden directory:

cd ~/docker/vaultwarden

To double check you are in the right place, type pwd to see your current directory.

Create the docker-compose.yaml file:

sudo touch docker-compose.yaml

Use the nano program to edit the file:

sudo nano docker-compose.yaml

Step 3: docker-compose file
#

Copy the following text into the docker-compose file:

version: "3.8"

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    ports:
      - "8081:80"
    volumes:
      - ./data:/data
    environment:
      - ADMIN_TOKEN=your_admin_token_here
      - DOMAIN=http://192.168.99.1:8081
      - WEBSOCKET_ENABLED=true
      - WEBSOCKET_ADDRESS=0.0.0.0
      - WEBSOCKET_PORT=3012

Important: Replace your_admin_token_here with a strong, unique token for admin access.

Save and exit the file by pressing Ctrl+X and saying Y to save.

Step 4: Start Vaultwarden
#

Now you can download and start Vaultwarden:

sudo docker-compose pull
sudo docker-compose up -d

Once the pull is complete, verify the containers are running:

docker ps

You should see vaultwarden running.

Initial Setup and Configuration
#

Step 1: Access Vaultwarden
#

Open your browser and navigate to:

http://192.168.99.1:8081

Step 2: Create Your Account
#

  1. Create Account

    • Enter an email address (can be any email, it’s not actually used)
    • Enter a strong master password
    • Click Create Account
  2. Verify Email (Optional)

    • If email is enabled, check your inbox
    • Otherwise, click Skip to continue

Step 3: Admin Panel Setup
#

  1. Access Admin Panel

    • Navigate to http://192.168.99.1:8081/admin
    • Enter the ADMIN_TOKEN you set in docker-compose
  2. Configure Settings

    • Enable email if desired
    • Configure organization settings
    • Set up SMTP for notifications (optional)

Usage
#

This will only work while you are in your home network. If you want to use this on a laptop that will be using public WIFI networks, you will need to expose your home server to the internet. You should know what you are doing before you try that.

Web Interface
#

The Vaultwarden web interface (http://192.168.99.1:8081) provides:

  • Passwords: Store and manage login credentials
  • Cards: Store credit card information
  • Identities: Store personal information
  • Notes: Store secure notes
  • Folders: Organize your items

Common Tasks
#

Add a Password:

  1. Click Add Item in the sidebar
  2. Select Login
  3. Enter website URL, username, and password
  4. Click Save

Generate a Password:

  1. Click the password field
  2. Click the Generate button
  3. Choose password length and complexity
  4. Click Copy to copy to clipboard

Share a Password:

  1. Click the Share button on an item
  2. Choose sharing options
  3. Set expiration date (optional)
  4. Send invitation

Mobile App
#

Vaultwarden works with the official Bitwarden apps:

  1. Install the App

  2. Connect to Your Server

    • Open the app
    • Tap Add Account
    • Enter your server URL: http://192.168.99.1:8081
    • Log in with your credentials
  3. Sync Your Data

    • Your data will automatically sync when you open the app
    • Make sure you’re on the same network or have port forwarding configured