{"id":17888292,"url":"https://github.com/squat/keewee","last_synced_at":"2026-01-17T07:27:22.197Z","repository":{"id":73956836,"uuid":"77414431","full_name":"squat/keewee","owner":"squat","description":"Deploy self-hosted KeeWeb","archived":false,"fork":false,"pushed_at":"2017-03-29T20:16:47.000Z","size":2213,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-01T06:03:34.444Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/squat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-27T00:42:11.000Z","updated_at":"2018-09-11T06:27:52.000Z","dependencies_parsed_at":"2023-03-13T05:15:16.456Z","dependency_job_id":null,"html_url":"https://github.com/squat/keewee","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/squat/keewee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fkeewee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fkeewee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fkeewee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fkeewee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squat","download_url":"https://codeload.github.com/squat/keewee/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squat%2Fkeewee/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T13:37:01.591Z","updated_at":"2026-01-17T07:27:22.184Z","avatar_url":"https://github.com/squat.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keewee\n\n[![Build Status](https://travis-ci.org/squat/keewee.svg?branch=master)](https://travis-ci.org/squat/keewee)\n\nkeewee makes it easy to launch and secure a self-hosted [KeeWeb](https://github.com/keeweb/keeweb) instance.\n\nTo secure your instance, keewee only allows access with encrypted connections. keewee uses [Let's Encrypt](https://letsencrypt.org/) to automatically obtain and renew TLS certificates for your KeeWeb instance. That means that when your certificates expire you aren't locked out of your passwords; instead, the certificates are kept up to date for you. It also means that there is no need to reconfigure and redeploy your password manager every few months.\n\n## Running keewee\n\nkeewee is containerized and can be run with either rkt or docker. Just make sure to specify the host name for your instance:\n\n```sh\ndocker run -p 443:443 -v keewee:/cache squat/keewee --host=example.com\n```\n\n*note*: this invocation uses a named volume mounted at `/cache` to ensure your certificates are cached between container restarts so that new certificates aren't issued all the time. If you don't care about caching your certificates between restarts, you can omit the `-v keewee:/cache` flag.\n\nTo keep an accessible cache of your certificates on your host, mount a host directory as the cache volume:\n\n```sh\ndocker run -p 443:443 -v ./path/to/cache:/cache squat/keewee --host=example.com\n```\n\nConfiguring the settings on your KeeWeb instance is also simplified with keewee. You no longer need to build your configuration file into your KeeWeb container; just update your configuration on disk!\n\nLet's say I have a KeeWeb configuration file that looks like:\n\n```json\n{\n    \"settings\": {\n        \"gdriveClientId\": \"\u003cMY-CLIENT-ID\u003e\",\n        \"theme\": \"wb\"\n    }\n}\n```\n\nI can then configure keewee by mounting that file as a volume at `/static/config.json` like:\n\n```sh\ndocker run -p 443:443 -v keewee:/cache -v ./path/to/config.json:/static/config.json squat/keewee --host=example.com\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquat%2Fkeewee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquat%2Fkeewee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquat%2Fkeewee/lists"}