{"id":18289844,"url":"https://github.com/tiredofit/docker-self-service-password","last_synced_at":"2025-04-05T09:31:48.793Z","repository":{"id":38971639,"uuid":"101133144","full_name":"tiredofit/docker-self-service-password","owner":"tiredofit","description":"Dockerized Self Service Password Changer with many customizable options","archived":false,"fork":false,"pushed_at":"2023-11-11T01:33:33.000Z","size":128,"stargazers_count":135,"open_issues_count":18,"forks_count":64,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-21T02:22:09.439Z","etag":null,"topics":["docker","ldap-authentication","ltb","nginx","openldap","password","php-fpm"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/tiredofit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["tiredofit"]}},"created_at":"2017-08-23T03:23:07.000Z","updated_at":"2025-02-27T09:13:56.000Z","dependencies_parsed_at":"2023-01-29T15:46:02.873Z","dependency_job_id":null,"html_url":"https://github.com/tiredofit/docker-self-service-password","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-self-service-password","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-self-service-password/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-self-service-password/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-self-service-password/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiredofit","download_url":"https://codeload.github.com/tiredofit/docker-self-service-password/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318295,"owners_count":20919457,"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":["docker","ldap-authentication","ltb","nginx","openldap","password","php-fpm"],"created_at":"2024-11-05T14:08:32.818Z","updated_at":"2025-04-05T09:31:46.505Z","avatar_url":"https://github.com/tiredofit.png","language":"Dockerfile","funding_links":["https://github.com/sponsors/tiredofit","https://www.paypal.me/tiredofit"],"categories":[],"sub_categories":[],"readme":"# github.com/tiredofit/docker-self-service-password\n\n[![GitHub release](https://img.shields.io/github/v/tag/tiredofit/docker-self-service-password?style=flat-square)](https://github.com/tiredofit/docker-self-service-password/releases/latest)\n[![Build Status](https://img.shields.io/github/workflow/status/tiredofit/docker-self-service-password/build?style=flat-square)](https://github.com/tiredofit/docker-self-service-password/actions?query=workflow%3Abuild)\n[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/self-service-password.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/self-service-password/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/self-service-password.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/self-service-password/)\n[![Become a sponsor](https://img.shields.io/badge/sponsor-tiredofit-181717.svg?logo=github\u0026style=flat-square)](https://github.com/sponsors/tiredofit)\n[![Paypal Donate](https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal\u0026style=flat-square)](https://www.paypal.me/tiredofit)\n\n* * *\n\n## About\n\nDockerfile to build a [LTB-Self Service Password](https://ltb-project.org/documentation/self-service-password.html) self service password reset tool for infrastructure with an LDAP backend.\n\n\n## Maintainer\n\n- [Dave Conroy](https://github.com/tiredofit)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Authors](#authors)\n- [Table of Contents](#table-of-contents)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n  - [Quick Start](#quick-start)\n- [Configuration](#configuration)\n  - [Data-Volumes](#data-volumes)\n  - [Environment Variables](#environment-variables)\n    - [LDAP Settings](#ldap-settings)\n    - [Local Password Policy Settings](#local-password-policy-settings)\n    - [Questions Settings](#questions-settings)\n    - [Mail Settings](#mail-settings)\n    - [Token Settings](#token-settings)\n    - [SMS Settings](#sms-settings)\n    - [SSH Settings](#ssh-settings)\n    - [Recaptcha Settings](#recaptcha-settings)\n    - [Misc Application and Branding Settings](#misc-application-and-branding-settings)\n  - [Networking](#networking)\n- [Maintenance](#maintenance)\n  - [Shell Access](#shell-access)\n- [References](#references)\n\n## Prerequisites and Assumptions\n*  Assumes you are using some sort of SSL terminating reverse proxy such as:\n   *  [Traefik](https://github.com/tiredofit/docker-traefik)\n   *  [Nginx](https://github.com/jc21/nginx-proxy-manager)\n   *  [Caddy](https://github.com/caddyserver/caddy)\n* Require - Access to an LDAP Server\n* Require - Access to a SMTP Server\n\n\n## Installation\n\n### Build from Source\nClone this repository and build the image with `docker build \u003carguments\u003e (imagename) .`\n\n### Prebuilt Images\nBuilds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/self-service-password) and is the recommended method of installation.\n\nThe following image tags are available along with their taged release based on what's written in the [Changelog](CHANGELOG.md):\n\n| Container OS | Tag       |\n| ------------ | --------- |\n| Alpine       | `:latest` |\n\n#### Multi Archictecture\nImages are built primarily for `amd64` architecture, and may also include builds for `arm/v6`, `arm/v7`, `arm64` and others. These variants are all unsupported. Consider [sponsoring](https://github.com/sponsors/tiredofit) my work so that I can work with various hardware. To see if this image supports multiple architecures, type `docker manifest (image):(tag)`\n\n\n## Configuration\n\n### Quick Start\n\n* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See\nthe examples folder for a working [docker-compose.yml](examples/docker-compose.yml) that can be\nmodified for development or production use.\n\n* Set various [environment variables](#environment-variables) to understand the capabilities of this\nimage.\n* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.\n### Persistent Storage\n\nThe following directories are used for configuration and can be mapped for persistent storage.\n\n| Directory  | Description                         |\n| ---------- | ----------------------------------- |\n| `/www/ssp` | Root SelfService Password Directory |\n\n*OR*\n\nDon't map anything and let it run with the included source inside the image. If you wish to customize the source on each container restart map the following\n\n| Directory        | Description                                                                                         |\n| ---------------- | --------------------------------------------------------------------------------------------------- |\n| `/assets/custom` | Place files to be added/updated on container start following the `/www/ssp` file / folder structure |\n\n*OR*\n\nIf you want to manually configure the application you can set `SETUP_TYPE=MANUAL` in environment variables and map the following:\n\n| Directory       | Description                 |\n| --------------- | --------------------------- |\n| `/www/ssp/conf` | SSP Configuration Directory |\n\n### Environment Variables\n#### Base Images used\n\nThis image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine) or [Debian Linux](https://hub.docker.com/r/tiredofit/debian) base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`,`nano`,`vim`.\n\nBe sure to view the following repositories to understand all the customizable options:\n\n| Image                                                         | Description                            |\n| ------------------------------------------------------------- | -------------------------------------- |\n| [OS Base](https://github.com/tiredofit/docker-alpine/)        | Customized Image based on Alpine Linux |\n| [Nginx](https://github.com/tiredofit/docker-nginx/)           | Nginx webserver                        |\n| [PHP-FPM](https://github.com/tiredofit/docker-nginx-php-fpm/) | PHP Interpreter                        |\n\n| Parameter    | Description                                                                                   | Default |\n| ------------ | --------------------------------------------------------------------------------------------- | ------- |\n| `SETUP_TYPE` | Configure SSP via environment variables `AUTO` or `MANUAL` - If true, ignore everything below | `AUTO`  |\n\n#### LDAP Settings\n\n| Parameter                            | Description                                                                                                                                                                                                                                  | Default                                                   |\n| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |\n| `LDAP_SERVER`                        | Ldap server.                                                                                                                                                                                                                                 |                                                           |\n| `LDAP_STARTTLS`                      | Enable TLS on Ldap bind.                                                                                                                                                                                                                     |                                                           |\n| `LDAP_BINDDN`                        | Ldap bind dn.                                                                                                                                                                                                                                |                                                           |\n| `LDAP_BINDPASS`                      | Ldap bind password.                                                                                                                                                                                                                          |                                                           |\n| `LDAP_BASE_SEARCH`                   | Base where we can search for users.                                                                                                                                                                                                          |                                                           |\n| `LDAP_FILTER`                        | LDAP Lookup Filter                                                                                                                                                                                                                           | `(\u0026(objectClass=person)(\\$ldap_login_attribute={login}))` |\n| `LDAP_ANSWER_ATTRIBUTE`              | Ldap property to get user's answers if Questions enabled.                                                                                                                                                                                    | `info`                                                    |\n| `LDAP_LOGIN_ATTRIBUTE`               | Ldap property used for user searching.                                                                                                                                                                                                       | `uid`                                                     |\n| `LDAP_FULLNAME_ATTRIBUTE`            | Ldap property to get user fullname.                                                                                                                                                                                                          | `cn`                                                      |\n| `LDAP_MAIL_ATTRIBUTE`                | Ldap property to get user mail.                                                                                                                                                                                                              | `mail`                                                    |\n| `LDAP_SMS_ATTRIBUTE`                 | Ldap property to get user SMS Phone Number.                                                                                                                                                                                                  | `mobile`                                                  |\n| `LDAP_SSHKEY_ATTRIBUTE`              | Ldap property to get user mail.                                                                                                                                                                                                              | `sshKey`                                                  |\n| `LDAP_CA_CERTIFICATE`                | Path to Root CA if using ldaps.                                                                                                                                                                                                              |                                                           |\n| `AD_OPT_CHANGE_EXPIRED_PASSWORD`     | Allow user with expired password to change password.                                                                                                                                                                                         | `false`                                                   |\n| `AD_OPT_FORCE_PWD_CHANGE`            | Force user change password at next login.                                                                                                                                                                                                    | `false`                                                   |\n| `AD_OPT_FORCE_UNLOCK`                | Force account unlock when password is changed.  Default to `false`                                                                                                                                                                           |\n| `ADMODE`                             | Specifies if LDAP server is Active Directory LDAP server. If your LDAP server is AD, set this to `true`.                                                                                                                                     | `false`                                                   |\n| `PASSWORD_HASH_CRYPT_SALT_LENGTH`    | - If `CRYPT` selected what is the hash salt length                                                                                                                                                                                           | `6`                                                       |\n| `PASSWORD_HASH_CRYPT_SALT_PREFIX`    | - If `CRYPT` selected what is the hash prefix                                                                                                                                                                                                | `$6$`                                                     |\n| `PASSWORD_HASH`                      | Hash mechanism for password`SSHA` `SHA` `SMD5` `MD5` `CRYPT` `clear` (the default) `auto` (will check the hash of current password - if no password existed before, it will set as `clear`)  **This option is not used with ad_mode = true** |\n| `QUESTIONS_ANSWER_OBJECTCLASS`       | Default Object Class `extensibleObject`                                                                                                                                                                                                      |\n| `SAMBA_EXPIRE_DAYS`                  | Set Password Expiry in Days                                                                                                                                                                                                                  | `90`                                                      |\n| `SAMBA_MAX_AGE`                      | Set Password maximum age in AD                                                                                                                                                                                                               | `45`                                                      |\n| `SAMBA_MIN_AGE`                      | Set Password minimum age in AD                                                                                                                                                                                                               | `5`                                                       |\n| `SAMBA_MODE`                         | Samba mode, if is `true` update sambaNTpassword and the following SAMBA attributes too; if is `false` just update the password.                                                                                                              | `false`                                                   |\n| `SHADOW_OPT_UPDATE_SHADOWEXPIRE`     | If `true` update ShadowLastExpire.                                                                                                                                                                                                           | `false`                                                   |\n| `SHADOW_OPT_UPDATE_SHADOWLASTCHANGE` | If `true` update shadowLastChange.                                                                                                                                                                                                           | `false`                                                   |\n\n#### Local Password Policy Settings\n\n| Parameter                       | Description                                                                                                              | Default          |\n| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------- |\n| `PASSWORD_DIFFERENT_LOGIN`      | Should password be different than login                                                                                  | `true`           |\n| `PASSWORD_MAX_LENGTH`           | Maximal length.                                                                                                          | `0` (unchecked). |\n| `PASSWORD_MIN_DIGIT`            | Minimal digit characters.                                                                                                | `0` (unchecked). |\n| `PASSWORD_MIN_LENGTH`           | Minimal length.                                                                                                          | `0` (unchecked). |\n| `PASSWORD_MIN_LOWERCASE`        | Minimal lower characters.                                                                                                | `0` (unchecked). |\n| `PASSWORD_MIN_SPECIAL`          | Minimal special characters.                                                                                              | `0` (unchecked). |\n| `PASSWORD_MIN_UPPERCASE`        | Minimal upper characters.                                                                                                | `0` (unchecked). |\n| `PASSWORD_COMPLEXITY`           | Minimum number of different classes of characters.                                                                       | `0` (unchecked). |\n| `PASSWORD_NO_REUSE`             | Dont reuse the same password as currently.                                                                               | `true`.          |\n| `PASSWORD_NO_SPECIAL_ENDS`      | Dont allow special characters at start and end of password                                                               | `false`          |\n| `PASSWORD_SHOW_POLICY_POSITION` | Position of password policy constraints message `above` `below`                                                          | `above`          |\n| `PASSWORD_SHOW_POLICY`          | Show policy constraints message`always` `never` `onerror`                                                                | `never`          |\n| `PASSWORD_SPECIAL_CHARACTERS`   | Define Special Characters                                                                                                | `^a-zA-Z0-9`     |\n| `PASSWORD_USE_PWNED`            | Utilize HaveIbeenpwned.com Password checking service                                                                     | `false`          |\n| `WHO_CAN_CHANGE_PASSWORD`       | Who changes the password?  Also applicable for question/answer save `user`: the user itself `manager`: the above binddn. | `user`           |\n\n#### Questions Settings\n\n| Parameter                    | Description                               | Default |\n| ---------------------------- | ----------------------------------------- | ------- |\n| `USE_QUESTIONS`              | Use questions/answers?  `true` or `false` | `false` |\n| `QUESTIONS_ANSWER_CRYPT`     |                                           | `true`  |\n| `QUESTIONS_MULTIPLE_ANSWERS` | Allow multiple answers for Questions      | `false` |\n\n#### Mail Settings\n\n| Parameter                 | Description                                                                        | Default                 |\n| ------------------------- | ---------------------------------------------------------------------------------- | ----------------------- |\n| `MAIL_CHARSET`            | Mail Character set                                                                 | `utf8`                  |\n| `MAIL_CONTENTTYPE`        | Content Type Delcaration                                                           | `plain/text`            |\n| `MAIL_FROM_NAME`          | Name for `MAIL_FROM`.                                                              | `Self Service Password` |\n| `MAIL_FROM`               | Who the email should come from.                                                    | `admin@example.com`     |\n| `MAIL_NEWLINE`            | How to address New lines                                                           | `PHP_EOL`               |\n| `MAIL_PRIORITY`           | Priority tag of mail                                                               | `3`                     |\n| `MAIL_SIGNATURE`          | Mail Signature                                                                     | ``                      |\n| `MAIL_USE_LDAP`           | Use first address in LDAP attribute skipping asking for mail                       | `false`                 |\n| `MAIL_WORDWRAP`           | Amount of characters to wordwrap email                                             | `80`                    |\n| `NOTIFY_ON_CHANGE`        | Notify users anytime their password is changed.                                    | `false`                 |\n| `NOTIFY_ON_SSHKEY_CHANGE` | Notify on SSH Key Change                                                           | `true`                  |\n| `SMTP_AUTH_ON`            | Force smtp auth with `SMTP_USER` and `SMTP_PASS`.                                  | `false`                 |\n| `SMTP_AUTOTLS`            | SMTP Auto TLS `true` or `false`                                                    | `false `                |\n| `SMTP_DEBUG`              | SMTP debug mode (following https:////github.com/PHPMailer/PHPMailer instructions). | `0`                     |\n| `SMTP_HOST`               | SMTP host.                                                                         |                         |\n| `SMTP_KEEPALIVE`          | SMTP Keepalive                                                                     | `false`                 |\n| `SMTP_PASS`               | SMTP password.                                                                     |                         |\n| `SMTP_PORT`               | SMTP port.                                                                         | `587`                   |\n| `SMTP_SECURE_TYPE`        | SMTP secure type to use. `ssl` or `tls`. Use `false` for unencrypted connections.  | `tls`                   |\n| `SMTP_TIMEOUT`            | SMTP Timeout in seconds                                                            | `30`                    |\n| `SMTP_USER`               | SMTP user.                                                                         |                         |\n\n#### Token Settings\n\n| Parameter        | Description                          | Default |\n| ---------------- | ------------------------------------ | ------- |\n| `USE_TOKENS`     | Use email to send reset tokens.      | `true`  |\n| `TOKEN_CRYPT`    | Encrypt tokens                       | `true`  |\n| `TOKEN_LIFETIME` | How long are tokens valid in seconds | `3600`  |\n\n#### SMS Settings\n\n| Parameter                    | Description                      | Default                                 |\n| ---------------------------- | -------------------------------- | --------------------------------------- |\n| `USE_SMS`                    | Enable sms verification.         | `false`                                 |\n| `SMS_API_LIB`                | API Library location for SMS     | `/lib/smsapi.inc.php`                   |\n| `SMS_MAIL_SUBJECT`           | Subject for SMS message          | `Provider Code`                         |\n| `SMS_MAIL_TO`                | Mail Address                     | `{sms_attribute}@service.provider.com}` |\n| `SMS_MESSAGE`                | SMS Message                      | `{snsresetnessae} {smstoken}`           |\n| `SMS_METHOD`                 | How to send SMS `mail` or `api`  | `mail`                                  |\n| `SMS_PARTIAL_HIDE_NUMBER`    | Partially hide SMS number in     | `true`                                  |\n| `SMS_SANITIZE_NUMBER`        | Sanitize non numbers from number | `false`                                 |\n| `SMS_TOKEN_LENGTH`           | How many digits for a SMS Code   | `6`                                     |\n| `SMS_TRUNCATE_NUMBER_LENGTH` | How many characters for above    | `10`                                    |\n| `SMS_TRUNCATE_NUMBER`        | Truncate Characters of number    | `false`                                 |\n\n#### SSH Settings\n\n| Parameter               | Description                                                                                                              | Default |\n| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------- |\n| `CHANGE_SSHKEY`         | Enable Changing SSH Key.                                                                                                 | `false` |\n| `WHO_CAN_CHANGE_SSHKEY` | Who changes the password?  Also applicable for question/answer save `user`: the user itself `manager`: the above binddn. | `user`  |\n\n#### Recaptcha Settings\n\n| Parameter                  | Description                                             | Default |\n| -------------------------- | ------------------------------------------------------- | ------- |\n| `USE_RECAPTCHA`            | Use Google reCAPTCHA (http://www.google.com/recaptcha). | `false` |\n| `RECAPTCHA_PUB_KEY`        | Go on the site to get public key                        |\n| `RECAPTCHA_PRIV_KEY`       | Go on the site to get private key                       |\n| `RECAPTCHA_THEME`          | Theme of ReCaptcha. Default: `light`                    |\n| `RECAPTCHA_TYPE`           | Type of ReCaptcha Default: `image`                      |\n| `RECAPTCHA_SIZE`           | Size of ReCaptcha Default: `small`                      |\n| `RECAPTCHA_REQUEST_METHOD` | Special cases                                           | `null`  |\n\n#### Misc Application and Branding Settings\n\n| Parameter                                                   | Description                                                                                                                                         | Default                            |\n| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |\n| `BACKGROUND_IMAGE`                                          | Change background Default `images/unsplash-space.jpg`                                                                                               |\n| `DEBUG_MODE`                                                | Debug mode.                                                                                                                                         | `false`                            |\n| `DEFAULT_ACTION`                                            | Default action`change` `sendtoken` `sendsms`.                                                                                                       | `change`                           |\n| `ENABLE_RESET_LOG` - Write to log detailing password resets | `FALSE`                                                                                                                                             |\n| `IS_BEHIND_PROXY`                                           | Enable reset url parameter to accept reverse proxy.                                                                                                 | `false`                            |\n| `SITE_URL`                                                  | Use this to hardcode a Site URL if `IS_BEHIND_PROXY=true` - By default it will pull from various HTTP Headers. Example -``https://site.example.com` |\n| `LANG`                                                      | Language.                                                                                                                                           | `en`.                              |\n| `LOG_LOCATION`                                              | Log Folder                                                                                                                                          | `/www/logs/self-service-password/` |\n| `LOG_RESET` - Reset Logfile                                 | `reset.log`                                                                                                                                         |\n| `LOGO`                                                      | Main Logo - `Default images/ltb-logo.png`                                                                                                           |\n| `SECRETKEY`                                                 | Encryption, decryption keyphrase. Defaults to`secret`                                                                                               |\n| `SHOW_HELP`                                                 | Display help messages.                                                                                                                              | `true`.                            |\n\n\n### Networking\n\nThe following ports are exposed.\n\n| Port | Description |\n| ---- | ----------- |\n| `80` | HTTP        |\n\n* * *\n## Maintenance\n\n### Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell.\n\n``bash\ndocker exec -it (whatever your container name is) bash\n``\n## Support\n\nThese images were built to serve a specific need in a production environment and gradually have had more functionality added based on requests from the community.\n### Usage\n- The [Discussions board](../../discussions) is a great place for working with the community on tips and tricks of using this image.\n- Consider [sponsoring me](https://github.com/sponsors/tiredofit) personalized support.\n### Bugfixes\n- Please, submit a [Bug Report](issues/new) if something isn't working as expected. I'll do my best to issue a fix in short order.\n\n### Feature Requests\n- Feel free to submit a feature request, however there is no guarantee that it will be added, or at what timeline.\n- Consider [sponsoring me](https://github.com/sponsors/tiredofit) regarding development of features.\n\n### Updates\n- Best effort to track upstream changes, More priority if I am actively using the image in a production environment.\n- Consider [sponsoring me](https://github.com/sponsors/tiredofit) for up to date releases.\n\n## License\nMIT. See [LICENSE](LICENSE) for more details.## References\n\n## References\n* https://ltb-project.org/documentation/self-service-password\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiredofit%2Fdocker-self-service-password","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiredofit%2Fdocker-self-service-password","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiredofit%2Fdocker-self-service-password/lists"}