Table of Contents
/data prefix:
By default all persistent data is saved under /data
, you can override this path by setting the DATA_FOLDER
env variable:
docker run -d --name vaultwarden \
-e DATA_FOLDER=/persistent \
-v /vw-data/:/persistent/ \
-p 80:80 \
vaultwarden/server:latest
Notice, that you need to adapt your volume mount accordingly.
database name and location
Default is $DATA_FOLDER/db.sqlite3
, you can change the path specifically for database using DATABASE_URL
variable:
docker run -d --name vaultwarden \
-e DATABASE_URL=/database/vaultwarden.sqlite3 \
-v /vw-data/:/data/ \
-v /vw-database/:/database/ \
-p 80:80 \
vaultwarden/server:latest
Note, that you need to remember to mount the volume for both database and other persistent data if they are different.
attachments location
Default is $DATA_FOLDER/attachments
, you can change the path using ATTACHMENTS_FOLDER
variable:
docker run -d --name vaultwarden \
-e ATTACHMENTS_FOLDER=/attachments \
-v /vw-data/:/data/ \
-v /vw-attachments/:/attachments/ \
-p 80:80 \
vaultwarden/server:latest
Note, that you need to remember to mount the volume for both attachments and other persistent data if they are different.
icons cache
Default is $DATA_FOLDER/icon_cache
, you can change the path using ICON_CACHE_FOLDER
variable:
docker run -d --name vaultwarden \
-e ICON_CACHE_FOLDER=/icon_cache \
-v /vw-data/:/data/ \
-v /icon_cache/ \
-p 80:80 \
vaultwarden/server:latest
Note, that in the above example we don't mount the volume locally, which means it won't be persisted during the upgrade unless you use intermediate data container using --volumes-from
. This will impact performance as vaultwarden will have to re-download the icons on restart, but might save you from having stale icons in cache as they are not automatically cleaned.
FAQs
Container Image Usage
- Which container image to use
- Starting a container
- Updating the vaultwarden image
- Using Docker Compose
- Using Podman
Deployment
- Building your own docker image
- Building binary
- Pre-built binaries
- Third-party packages
- Deployment examples
- Proxy examples
- Logrotate example
HTTPS
Configuration
- Overview
- Disable registration of new users
- Disable invitations
- Enabling admin page
- Disable the admin token
- Enabling WebSocket notifications
- Enabling Mobile Client push notification
- Enabling U2F and FIDO2 WebAuthn authentication
- Enabling YubiKey OTP authentication
- Changing persistent data location
- Changing the API request size limit
- Changing the number of workers
- SMTP configuration
- Translating the email templates
- Password hint display
- Disabling or overriding the Vault interface hosting
- Logging
- Creating a systemd service
- Syncing users from LDAP
- Using an alternate base dir (subdir/subpath)
- Other configuration
Database
- Using the MariaDB (MySQL) Backend
- Using the PostgreSQL Backend
- Running without WAL enabled
- Migrating from MariaDB (MySQL) to SQLite