{"id":18051786,"url":"https://github.com/joegasewicz/locksmith","last_synced_at":"2026-01-07T06:45:44.346Z","repository":{"id":221753912,"uuid":"755291898","full_name":"joegasewicz/locksmith","owner":"joegasewicz","description":"Identity server 🔐 with admin console","archived":false,"fork":false,"pushed_at":"2024-05-23T22:53:03.000Z","size":8548,"stargazers_count":3,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-03T06:02:35.030Z","etag":null,"topics":["auth","authentication","authorization","identity","identity-server","jwt"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joegasewicz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-02-09T20:30:11.000Z","updated_at":"2024-08-01T15:13:07.000Z","dependencies_parsed_at":"2024-06-21T07:09:40.234Z","dependency_job_id":"4054e6cc-4aeb-47e0-ab2b-e89f63768854","html_url":"https://github.com/joegasewicz/locksmith","commit_stats":null,"previous_names":["joegasewicz/locksmith"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Flocksmith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Flocksmith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Flocksmith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joegasewicz%2Flocksmith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joegasewicz","download_url":"https://codeload.github.com/joegasewicz/locksmith/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245936618,"owners_count":20696868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["auth","authentication","authorization","identity","identity-server","jwt"],"created_at":"2024-10-30T22:56:00.123Z","updated_at":"2026-01-07T06:45:44.303Z","avatar_url":"https://github.com/joegasewicz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Locksmith](public/img/locksmith-logo.png?raw=true \"Locksmith\")\nIdentity server\n\nThis is a WIP \u0026 will be production ready in v1.0\n\n### Admin Console\n![Admin Console](public/img/screenshot-2.png?raw=true \"Admin Console\")\n\n### Usages\nTo run locksmith locally, first run the docker-compose make cmd\n```\nmake docker-compose\n```\n\nNow you can run locksmith\n```\ngo run locksmith.go\n```\n\n### Config\nCreate a yaml file called `locksmith.yaml`\n\nTo set default users \u0026 role types. *The `user.role` must \nmatch the `roles` values*.\n```yaml\nversion: 1\nroles:\n  - admin\n  - teachers\n  - students\nusers:\n  - name: admin\n    role: admin\n    email: test1@gmail.com\n    password: admin\n... etc.\n```\n\n### Docker Image\nPull down locksmith from the Docker registry \n```\ndocker pull bandnoticeboard/locksmith:v1.0.2\n```\n\nOr select a version here - [bandnoticeboard/locksmith](https://hub.docker.com/r/bandnoticeboard/locksmith)\n\n### Docker Compose\nExample of running locksmith with Docker Compose.\nThis example also include the required postgres database configuration.\n```\n  postgres_locksmith:\n    image: \"postgres:latest\"\n    ports:\n      - \"5431:5432\"\n    environment:\n      - POSTGRES_USER=admin\n      - POSTGRES_PASSWORD=admin\n      - POSTGRES_DB=identity_db\n    volumes:\n      - ./db/identitydb_vol/:/var/lib/postgresql/data\n\n  locksmith:\n    image: \"bandnoticeboard/locksmith:v1.0.2\"\n    ports:\n      - \"7001:7001\"\n    env_file:\n      - \".env-dev\"\n    depends_on:\n      - postgres_locksmith\n    restart: on-failure\n```\n\n### Environment Variables\n- `TOKEN_SECRET`\n- `PGDATABASE`\n- `PGUSER`\n- `PGPASSWORD` \n- `PGPORT`\n- `PGHOST`\n\nExample `.env` file\n```text\nTOKEN_SECRET=wizard\nPGDATABASE=identity_db\nPGUSER=admin\nPGPASSWORD=admin\nPGPORT=5431\nPGHOST=host.docker.internal\n```\n\n### Endpoints\n- GET `http://127.0.0.1:7001/health`\nResponse:\n```\n{\"Health\":\"OK\"}\n```\n## Authors\n\n* **joegasewicz** - *Initial work* - [@joegasewicz](https://twitter.com/joegasewicz)\n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n## License\n[MIT](https://choosealicense.com/licenses/mit/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoegasewicz%2Flocksmith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoegasewicz%2Flocksmith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoegasewicz%2Flocksmith/lists"}