Skip to content

timo-reymann/WebKeeVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebKeeVault

LICENSE DockerHub GitHub Actions GitHub Release Renovate


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:

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!

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.

Development

Requirements

Build

docker build . -t timoreymann/web-kee-vault:local

Alternatives

  • Downloading file ad-hoc and/or configuring KeeWeb/KeePass to load from WebDav.

Credits

  • Caddy is used as a simple, yet powerful web server under the hood
  • KeeWeb provides the Web UI part