Access your keepass files hosted on WebDAV through the browser
- simplistic KeeWeb UI
- easy shared web access
- hides your webdav endpoint
- OCI complaint container engine
If you use basic auth (default), make sure to prepare username and password for usage:
export username="my-user" export password="my-password" echo "$username:$password" | base64
version: '2.1'
services:
kw:
image: timoreymann/web-kee-vault:latest
environment:
# Protocol for webdav (http/https); https strongly recommended when the communication is over the internet
KW_WEBDAV_PROTOCOL: https
# Host for WebDAV
KW_WEBDAV_HOST: my-webdav.example.com
# Authentication part to WebDav Server in format <KW_WEBDAV_AUTH_TYPE> <KW_WEBDAV_AUTH_VALUE>
KW_WEBDAV_AUTH_TYPE: Basic
# Authentication part to WebDav Server in format <KW_WEBDAV_AUTH_TYPE> <KW_WEBDAV_AUTH_VALUE>
KW_WEBDAV_AUTH_VALUE: base64 encoded username:password
# Path to your kdbx (KeyPass) file on the WebDAV server
KW_WEBDAV_KDBX_PATH: /path/to/file.kdbx
# Used by KeeWeb to display the name of your database
KW_FILE_DISPLAY_NAME: My passwords
ports:
- 8080:8080 # this port will also expose your kdbx file WITHOUT authentication, make sure to read [Usage > Secure] in the README!
- Create a user that can only access the minimal permissions around your KDBX-File.
- Save the username & password for later
- Make sure your WebDAV is reachable to the container
I strongly recommend adding authentication before the application! Use an oauth2 proxy, basic auth etc to make sure your kdbx file is not publicly available! Even though the encryption used is pretty solid, with enough time and a downloaded file one can easily gain access to all your passwords without your knowledge!
I love KeePass format, the UI of KeeWeb and the simplicity of WebDav. I use all three of them but sometimes getting a file from WebDAV + getting a KeePass client or hopping over to keeweb.info is simply too much work.
So lets combine the best of three worlds and just provide a web based interface for just my thing.
I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the configuration
- Submitting a fix
- Proposing new features
- Becoming a maintainer
To get started please read the Contribution Guidelines.
docker build . -t timoreymann/web-kee-vault:local
- Downloading file ad-hoc and/or configuring KeeWeb/KeePass to load from WebDav.