https://github.com/timo-reymann/webkeevault
Access your keepass files hosted on WebDAV through the browser
https://github.com/timo-reymann/webkeevault
browser caddy container docker keeepass keeweb web
Last synced: 4 months ago
JSON representation
Access your keepass files hosted on WebDAV through the browser
- Host: GitHub
- URL: https://github.com/timo-reymann/webkeevault
- Owner: timo-reymann
- License: mit
- Created: 2024-02-24T16:03:57.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-09T07:30:30.000Z (over 1 year ago)
- Last Synced: 2025-01-09T08:43:12.611Z (over 1 year ago)
- Topics: browser, caddy, container, docker, keeepass, keeweb, web
- Language: HTML
- Homepage: https://hub.docker.com/r/timoreymann/web-kee-vault
- Size: 126 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
WebKeeVault
===
[](https://github.com/timo-reymann/WebKeeVault/blob/main/LICENSE)
[](https://hub.docker.com/r/timoreymann/web-kee-vault)
[](https://github.com/timo-reymann/WebKeeVault/actions/workflows/main.yml)
[](https://github.com/timo-reymann/WebKeeVault/releases)
[](https://renovatebot.com)
Access your keepass files hosted on WebDAV through the browser
## Features
- simplistic KeeWeb UI
- easy shared web access
- hides your webdav endpoint
## Requirements
- OCI complaint container engine
## Installation
### with docker-compose
> If you use basic auth (default), make sure to prepare username and password for usage:
>
> ```sh
> export username="my-user"
> export password="my-password"
> echo -n "$username:$password" | base64
> ```
````yaml
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: Basic
# Authentication part to WebDav Server in format
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!
````
## Usage
### Set up
1. Create a user that can only access the minimal permissions around your KDBX-File.
2. Save the username & password for later
3. Make sure your WebDAV is reachable to the container
### Secure
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!
## Motivation
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.
## Contributing
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](./CONTRIBUTING.md).
## Development
### Requirements
- [Docker](https://docs.docker.com/get-docker/)
### Build
```sh
docker build . -t timoreymann/web-kee-vault:local
```
### Alternatives
- Downloading file ad-hoc and/or configuring KeeWeb/KeePass to load from WebDav.
### Credits
- [Caddy](https://caddyserver.com/) is used as a simple, yet powerful web server under the hood
- [KeeWeb](https://keeweb.info/) provides the Web UI part