Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 1.71 KB

README.md

File metadata and controls

69 lines (45 loc) · 1.71 KB

KeeHost

A Self Hosted Password Manager API

Introduction

KeeHost is a self hostable API, it works with Python EVE and store your password in one place. Forget the multi client synchronization, everything is encrypted in the cloud.

Configuration

Just run configure.sh then edit configuration files in the config/ directory

Usage

Keehost is a REST API each resources are available via his name as endpoint :

  1. /accounts (List of accessible account)
  2. /groups (A group is gathering one or more entries)
  3. /entries (An entry is a stored encrypted password)

For example, to list accounts:

curl -X GET 'https://host:port/accounts'

to create a group :

curl -X POST 'https://host:port/groups' -d '{"name": "foo", "icon": null}' -H 'Content-Type: application/json'

to get a group:

curl -X GET 'https://host:port/groups/:id'

to delete a group :

curl -X DELETE 'https://host:port/groups/:id' -H 'If-Match: etag'

to update a group :

curl -X PATCH 'https://host:port/groups/:id' -H 'If-Match: etag' -d '{"name": "foo_updated"}' -H 'Content-Type: application/json'

For more example/documentation see the Python-Eve documentation

Deployment

You can deploy the API thanks to the docker-compose.yml but don't forget to configure the application correctly !

MONGO_HOST = 'mongo'
KEEHOST_URL = 'https://keehost_api:1337'

After the deployment, an nginx will be running on port 80 exposed on host port 8080 (e.g see docker-compose.yml).

This nginx server is used as proxy pass to redirect all the request on the good service.

Example:

$ curl 'https://localhost:8080/auth/login'

$ curl 'https://localhost:8080/api/entries'