{"id":13821242,"url":"https://github.com/jirutka/ldap-passwd-webui","last_synced_at":"2025-10-06T20:17:39.956Z","repository":{"id":30534142,"uuid":"34088744","full_name":"jirutka/ldap-passwd-webui","owner":"jirutka","description":"Very simple web interface for changing password stored in LDAP or Active Directory (Samba 4 AD).","archived":false,"fork":false,"pushed_at":"2020-09-11T06:19:25.000Z","size":109,"stargazers_count":207,"open_issues_count":13,"forks_count":71,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-06-08T09:48:53.788Z","etag":null,"topics":["active-directory","bottlepy","ldap","passwords","python","samba","web-app"],"latest_commit_sha":null,"homepage":"","language":"Python","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/jirutka.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-17T00:51:54.000Z","updated_at":"2025-04-23T21:55:40.000Z","dependencies_parsed_at":"2022-07-28T02:46:55.762Z","dependency_job_id":null,"html_url":"https://github.com/jirutka/ldap-passwd-webui","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jirutka/ldap-passwd-webui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fldap-passwd-webui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fldap-passwd-webui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fldap-passwd-webui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fldap-passwd-webui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jirutka","download_url":"https://codeload.github.com/jirutka/ldap-passwd-webui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jirutka%2Fldap-passwd-webui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278672041,"owners_count":26025826,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["active-directory","bottlepy","ldap","passwords","python","samba","web-app"],"created_at":"2024-08-04T08:01:18.519Z","updated_at":"2025-10-06T20:17:39.915Z","avatar_url":"https://github.com/jirutka.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"= Web UI for changing LDAP password\nJakub Jirutka \u003chttps://github.com/jirutka[@jirutka]\u003e\n//custom\n:proj-name: ldap-passwd-webui\n:gh-name: jirutka/{proj-name}\n:wikip-url: https://en.wikipedia.org/wiki\n:pypi-url: https://pypi.python.org/pypi\n\nThe aim of this project is to provide a very simple web form for users to be able to change their password stored in LDAP or Active Directory (Samba 4 AD).\nIt’s built with http://bottlepy.org[Bottle], a WSGI micro web-framework for Python.\n\n\n== Installation\n\n=== Alpine Linux\n\n. Install package *ldap-passwd-webui-waitress* from the Alpine’s community repository:\n+\n[source, sh]\napk add ldap-passwd-webui-waitress\n+\nIMPORTANT: This package is in Alpine stable since v3.7. You can also install it from _edge_ (unstable) branch.\n\n. Adjust configuration in `/etc/ldap-passwd-webui.ini` and `/etc/conf.d/`.\n\n. Start service ldap-passwd-webui:\n+\n[source]\n/etc/init.d/ldap-passwd-webui start\n\n=== Manually\n\nClone this repository and install dependencies:\n\n[source, sh, subs=\"+attributes\"]\n----\ngit clone git@github.com:{gh-name}.git\ncd {proj-name}\npip install -r requirements.txt\n----\n\nRead the next sections to learn how to run it.\n\n=== Requirements\n\n* Python 3.x\n* {pypi-url}/bottle/[bottle]\n* {pypi-url}/ldap3[ldap3] 2.x\n\n\n== Configuration\n\nConfiguration is read from the file link:settings.ini.example[settings.ini].\nYou may change location of the settings file using the environment variable `CONF_FILE`.\n\nIf you have Active Directory (or Samba 4 AD), then you *must* use encrypted connection (i.e. LDAPS or StartTLS) – AD doesn’t allow changing password via unencrypted connection.\n\n\n== Run it\n\nThere are multiple ways how to run it:\n\n* with the built-in default WSGI server based on https://docs.python.org/3/library/wsgiref.html#module-wsgiref.simple_server[wsgiref],\n* under a {wikip-url}/Web_Server_Gateway_Interface[WSGI] server like https://uwsgi-docs.readthedocs.org[uWSGI], https://docs.pylonsproject.org/projects/waitress[Waitress], http://gunicorn.org[Gunicorn], … (recommended)\n* as a {wikip-url}/Common_Gateway_Interface[CGI] script.\n\n=== Run with the built-in server\n\nSimply execute the `app.py`:\n\n[source, python]\npython3 app.py\n\nThen you can access the app on http://localhost:8080.\nThe port and host may be changed in link:settings.ini.example[settings.ini].\n\n\n=== Run with Waitress\n\n[source, sh, subs=\"+attributes\"]\n----\ncd {proj-name}\nwaitress-serve --listen=*:8080 app:application\n----\n\n=== Run with uWSGI and nginx\n\nIf you have many micro-apps like this, it’s IMO kinda overkill to run each in a separate uWSGI process, isn’t it?\nIt’s not so well known, but uWSGI allows to “mount” multiple application in a single uWSGI process and with a single socket.\n\n[source, ini, subs=\"+attributes\"]\n.Sample uWSGI configuration:\n----\n[uwsgi]\nplugins = python3\nsocket = /run/uwsgi/main.sock\nchdir = /var/www/scripts\nlogger = file:/var/log/uwsgi/main.log\nprocesses = 1\nthreads = 2\n# map URI paths to applications\nmount = /admin/{proj-name}={proj-name}/app.py\n#mount = /admin/change-world=change-world/app.py\nmanage-script-name = true\n----\n\n[source, nginx]\n.Sample nginx configuration as a reverse proxy in front of uWSGI:\n----\nserver {\n    listen 443 ssl;\n    server_name example.org;\n\n    ssl_certificate     /etc/ssl/nginx/nginx.crt;\n    ssl_certificate_key /etc/ssl/nginx/nginx.key;\n\n    # uWSGI scripts\n    location /admin/ {\n        uwsgi_pass  unix:/run/uwsgi/main.sock;\n        include     uwsgi_params;\n    }\n}\n----\n\n== Screenshot\n\nimage::doc/screenshot.png[]\n\n\n== License\n\nThis project is licensed under http://opensource.org/licenses/MIT/[MIT License].\nFor the full text of the license, see the link:LICENSE[LICENSE] file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjirutka%2Fldap-passwd-webui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjirutka%2Fldap-passwd-webui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjirutka%2Fldap-passwd-webui/lists"}