Choose a Plan
Vaultwarden does not publish a fixed minimum server size. These are practical starting points for the container and its local SQLite database, not upstream requirements.
Review current resources on the Arct Cloud pricing page before deployment.
Before You Begin
Prepare the following:- A fresh Ubuntu 24.04 server
- A domain or subdomain such as
vault.example.com - An
Arecord pointing that hostname to the server’s public IPv4 address - Docker Engine with the Docker Compose plugin, installed from the official Docker repository
- A reverse proxy such as Caddy or Nginx for HTTPS
22, 80, and 443 need to be reachable publicly. Keep Vaultwarden’s internal port private.
Install Vaultwarden
1
Deploy and Connect
2
Allow the Ubuntu User to Run Docker
After installing Docker Engine and the Compose plugin from Docker’s official Ubuntu repository, add the default Ubuntu user to the Docker group:Reconnect so the new group membership takes effect, then verify both commands work without
sudo:3
Create the Application Directory
4
Create the Compose File
Replace The bind mount keeps the vault database, keys, attachments, and configuration under
vault.example.com with your hostname.compose.yaml
/opt/vaultwarden/data.5
Start Vaultwarden
8000 through your cloud firewall or UFW.6
Create the First Account Privately
Do not publish the proxy yet. Keep Vaultwarden bound to loopback and, from a second terminal on your local computer, create an SSH tunnel:Open Stop the local tunnel with Ctrl+C only after the account, TOTP login, and disabled registration are verified. Leave the
http://127.0.0.1:8000, create the first account, sign in, and enable authenticator-app (TOTP) two-step login before continuing. Save the recovery code somewhere separate from the vault.Back in the VPS session, close registration and force Compose to recreate the service with the new environment value:/admin page disabled unless you have a specific need for it. If you enable it, follow Vaultwarden’s official guidance and use a hashed ADMIN_TOKEN.7
Enable Public HTTPS
Install Caddy using its official Debian and Ubuntu instructions, then add this site block to Validate and reload the configuration:Caddy obtains and renews the TLS certificate after DNS resolves and ports
/etc/caddy/Caddyfile:80 and 443 are reachable.Open https://vault.example.com, sign in, and confirm two-step login is enforced. Registration must already be disabled before the hostname becomes public.Firewall
Allow SSH before enabling UFW so you do not lock yourself out:Back Up and Restore
The/data directory is the authoritative persistent state. Stop the container before creating a filesystem archive so the SQLite database is consistent:
Update Safely
Read the Vaultwarden release notes, create an off-server backup, then update:Troubleshooting
Official Resources
Vaultwarden Repository
Official container examples, releases, security policy, and project documentation.
Vaultwarden Wiki
Reverse proxy, backup, admin-page, and configuration guidance.
Vaultwarden is an unofficial Bitwarden-compatible server and is not associated with Bitwarden, Inc. Arct Cloud is an independent infrastructure provider and is not affiliated with, sponsored by, or endorsed by Vaultwarden or Bitwarden.