Skip to main content
Arct Cloud provides the unmanaged Linux VPS for this deployment. Vaultwarden is not preinstalled or managed by Arct Cloud, and you are responsible for the application, its data, security, and updates.
A password vault is security-critical infrastructure. Use HTTPS, enable multi-factor authentication, keep tested off-server backups, and apply security updates promptly.

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 A record 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
Only ports 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:
Membership in the docker group is effectively root access because it can start privileged containers and mount the host filesystem. Add only trusted administrator accounts.
3

Create the Application Directory

4

Create the Compose File

Replace vault.example.com with your hostname.
compose.yaml
The bind mount keeps the vault database, keys, attachments, and configuration under /opt/vaultwarden/data.
5

Start Vaultwarden

Do not publish port 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 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:
Stop the local tunnel with Ctrl+C only after the account, TOTP login, and disabled registration are verified. Leave the /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 /etc/caddy/Caddyfile:
Validate and reload the configuration:
Caddy obtains and renews the TLS certificate after DNS resolves and ports 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:
The timestamp is UTC with second-level precision. The archive is validated before an atomic rename on the same filesystem, and the exit trap restarts Vaultwarden if archive creation or validation fails. Copy the archive to encrypted storage outside the VPS and test restoration regularly. A backup left only on the same server does not protect against server or disk loss. Review the official backup guidance before automating the process.

Update Safely

Read the Vaultwarden release notes, create an off-server backup, then update:
Do not downgrade a database unless the release notes explicitly document a supported rollback path. Restore a tested pre-update backup instead.

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.