A Self Hosted Password Manager API
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.
Just run configure.sh
then edit configuration files in the config/
directory
Keehost is a REST API each resources are available via his name as endpoint :
- /accounts (List of accessible account)
- /groups (A group is gathering one or more entries)
- /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
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'