Enpass is my favorite password manager. It works on Linux and Mac, and it can sync the password vault to cloud storage. Here, I’ll show you how to setup your own nginx dav share. I prefer not to store my passwords on public cloud.
Create an nginx path. In this example, the nginx docroot is /var/www and the dav share will be stored under /var/www/enpass:
location /enpass/ {
root /var/www;
auth_basic enpass;
auth_basic_user_file /var/www/enpass/.enpass_htpass;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
create_full_put_path on;
autoindex on;
}
Create the htpasswd file with htpasswd
htpasswd -c /var/www/enpass/.enpass_htpass <your-username>
Start or restart nginx and this dav share is ready for use. Next, configure enpass to sync with this share. Go to settings > vaults > primary > set up sync. Select WebDAV and then enter the url and credential. When done, click Connect.

You’re done. Enpass now syncs with your own private DAV share.
Enpass works quite well. It support auto-fill and TOTP 2FA. It works on Linux, Mac, and iPhone. The mobile app is not free, but I’m quite happy to support the developers who made this app available.