{"id":39156328,"url":"https://github.com/nfrastack/container-fusiondirectory","last_synced_at":"2026-01-17T21:58:15.599Z","repository":{"id":47515016,"uuid":"101310779","full_name":"nfrastack/container-fusiondirectory","owner":"nfrastack","description":"Containerized web based LDAP manager","archived":false,"fork":false,"pushed_at":"2025-12-23T18:38:04.000Z","size":476,"stargazers_count":50,"open_issues_count":5,"forks_count":19,"subscribers_count":2,"default_branch":"1.5","last_synced_at":"2025-12-25T08:49:26.897Z","etag":null,"topics":["ldap","ldap-authentication","openldap"],"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/nfrastack.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["tiredofit"]}},"created_at":"2017-08-24T15:32:49.000Z","updated_at":"2025-12-04T14:47:38.000Z","dependencies_parsed_at":"2025-04-05T09:41:56.261Z","dependency_job_id":null,"html_url":"https://github.com/nfrastack/container-fusiondirectory","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/nfrastack/container-fusiondirectory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-fusiondirectory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-fusiondirectory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-fusiondirectory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-fusiondirectory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfrastack","download_url":"https://codeload.github.com/nfrastack/container-fusiondirectory/tar.gz/refs/heads/1.5","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfrastack%2Fcontainer-fusiondirectory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28519217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:55:29.170Z","status":"ssl_error","status_checked_at":"2026-01-17T18:55:03.375Z","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":["ldap","ldap-authentication","openldap"],"created_at":"2026-01-17T21:58:15.517Z","updated_at":"2026-01-17T21:58:15.592Z","avatar_url":"https://github.com/nfrastack.png","language":"Dockerfile","funding_links":["https://github.com/sponsors/tiredofit"],"categories":[],"sub_categories":[],"readme":"# nfrastack/container-fusiondirectory\n\n## About\n\nThis repository will build a container for Fusion Directory](\u003chttps://www.fusiondirectory.org/\u003e) - an LDAP frontend.\n\n## Maintainer\n\n- [Nfrastack](https://www.nfrastack.com)\n\n## Table of Contents\n\n\n- [About](#about)\n- [Maintainer](#maintainer)\n- [Table of Contents](#table-of-contents)\n- [Prerequisites and Assumptions](#prerequisites-and-assumptions)\n- [Installation](#installation)\n  - [Prebuilt Images](#prebuilt-images)\n  - [Multi-Architecture Support](#multi-architecture-support)\n  - [Quick Start](#quick-start)\n  - [Persistent Storage](#persistent-storage)\n- [Environment Variables](#environment-variables)\n  - [Base Images used](#base-images-used)\n  - [Core Configuration](#core-configuration)\n  - [Connection profiles](#connection-profiles)\n  - [Plugins](#plugins)\n    - [Argonaut | User Reminders Plugin Specific Information](#argonaut--user-reminders-plugin-specific-information)\n  - [Themes](#themes)\n- [Maintenance](#maintenance)\n  - [Shell Access](#shell-access)\n- [Support \u0026 Maintenance](#support--maintenance)\n- [References](#references)\n- [License](#license)\n\n## Prerequisites and Assumptions\n\n* Assumes you are using some sort of SSL terminating reverse proxy such as:\n  - [Traefik](https://github.com/nfrastack/container-traefik)\n  - [Nginx](https://github.com/jc21/nginx-proxy-manager)\n  - [Caddy](https://github.com/caddyserver/caddy)\n\n- Require - Access to an LDAP Server w/ necessary fusiondirectory schemas loaded. - See [openldap-fusiondirectory](https://github.com/nfrastack/container-openldap-fusiondirectory)\n- Optional - Access to a SMTP Server\n\n## Installation\n\n### Prebuilt Images\n\nFeature limited builds of the image are available on the [Github Container Registry](https://github.com/nfrastack/container-fusiondirectory/pkgs/container/container-fusiondirectory) and [Docker Hub](https://hub.docker.com/r/nfrastack/fusiondirectory).\n\nTo unlock advanced features, one must provide a code to be able to change specific environment variables from defaults. Support the development to gain access to a code.\n\nTo get access to the image use your container orchestrator to pull from the following locations:\n\n```\nghcr.io/nfrastack/container-fusiondirectory:(image_tag)\ndocker.io/nfrastack/fusiondirectory:(image_tag)\n```\n\nImage tag syntax is:\n\n`\u003cimage\u003e:\u003cbranch\u003e-\u003coptional tag\u003e-\u003coptional_distribution\u003e_\u003coptional_distribution_variant\u003e`\n\nExample:\n`ghcr.io/nfrastack/container-fusiondirectory:1.5` or optionally\n\n`ghcr.io/nfrastack/container-fusiondirectory:1.5-1.0` or optionally\n\n`ghcr.io/nfrastack/container-fusiondirectory:1.5-1.0-alpine` or optinally\n\n- The `branch` will relate to the MAJOR eg `1` and MINOR `.5` release.\n- An optional `tag` may exist that matches the [CHANGELOG](CHANGELOG.md) - These are the safest\n- If it is built for multiple distributions there may exist a value of `alpine` or `debian`\n- If there are multiple distribution variations it may include a version - see the registry for availability\n\nHave a look at the container registries and see what tags are available.\n\n#### Multi-Architecture Support\n\nImages are built for `amd64` by default, with optional support for `arm64` and other architectures.\n\n### Quick Start\n\n- The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [compose.yml](examples/compose.yml) that can be modified for your use.\n\n- Map [persistent storage](#persistent-storage) for access to configuration and data files for backup.\n- Set various [environment variables](#environment-variables) to understand the capabilities of this image.\n\n### Persistent Storage\n\nIf you would like to add custom HTML such as themes into Fusiondirectory map your folder that follows the `/www/fusiondirectory/html` structure into `/assets/fusiondirectory` and the script will overwrite upon bootup.\n\nIf you have custom plugins, map a folder to `/assets/plugins-custom/` and they will be automatically added to the container upon startup.\n\n### Environment Variables\n\n#### Base Images used\n\nThis image relies on a customized base image in order to work.\nBe sure to view the following repositories to understand all the customizable options:\n\n| Image                                                            | Description     |\n| ---------------------------------------------------------------- | --------------- |\n| [OS Base](https://github.com/nfrastack/container-base/)          | Base Image      |\n| [Nginx](https://github.com/nfrastack/container-nginx/)           | Nginx webserver |\n| [PHP-FPM](https://github.com/nfrastack/container-nginx-php-fpm/) | PHP Interpreter |\n\nBelow is the complete list of available options that can be used to customize your installation.\n\n- Variables showing an 'x' under the `Advanced` column can only be set if the containers advanced functionality is enabled.\n\n#### Core Configuration\n\n| Parameter                  | Description         | Default                  | Advanced |\n| -------------------------- | ------------------- | ------------------------ | -------- |\n| `FUSIONDIRECTORY_LOG_TYPE` | `FILE` or `CONSOLE` | `FILE`                   |          |\n| `FUSIONDIRECTORY_LOG_PATH` | Where to store logs | `/logs/fusiondirectory/` |          |\n| `FUSIONDIRECTORY_LOG_FILE` | Logfile name        | `fusiondirectory.log`    |          |\n\n#### Connection profiles\n\n| Parameter           | Description                                                                          | Default                     | `_FILE` |\n| ------------------- | ------------------------------------------------------------------------------------ | --------------------------- | ------- |\n| `LDAP_DEFAULT`      | The Default Instance to show on Login Page e.g. `production` - Default `LDAP01_NAME` |                             |         |\n| `LDAP01_NAME`       | First LDAP instance name Name e.g. `production`                                      |                             |         |\n| `LDAP01_HOST`       | Firest LDAP hostnmae e.g. `openldap-fusiondirectory`                                 |                             | x       |\n| `LDAP01_TLS`        | (optional) Use TLS `TRUE` or `FALSE`                                                 | `FALSE`                     |         |\n| `LDAP01_SSL`        | (optional) Use SSL (LDAPS) `TRUE` or `FALSE`                                         | `FALSE`                     |         |\n| `LDAP01_PORT`       | (optional) Port number                                                               | `389` unless SSL=TRUE `636` | x       |\n| `LDAP01_ADMIN_PASS` | cn=admin,dc=example,dc=org Password e.g. `password`                                  |                             | x       |\n| `LDAP01_ADMIN_DN`   | First rimary DN to Manage e.g. `cn=admin,dc=example,dc=org`                          |                             | x       |\n| `LDAP01_BASE_DN`    | First Base DN to Manage e.g. `dc=example,dc=org`                                     |                             | x       |\n| `LDAP02_NAME`       | Second instance Name (e.g. `development`)                                            |                             |         |\n| `LDAP02_HOST`       | Second LDAP hostname (e.g. `openldap-fusiondirectory`)                               |                             | x       |\n| `LDAP02_SSL`        | Use SSL (LDAPS) `TRUE` or `FALSE`                                                    | `false`                     |         |\n| `LDAP02_TLS`        | (optional) Use TLS `TRUE` or `FALSE`                                                 | `false`                     |         |\n| `LDAP02_PORT`       | (optional) Port number                                                               | `389` unless TLS=TRUE `636` |         |\n| `LDAP02_ADMIN_PASS` | cn=admin,dc=example,dc=org Password e.g. `password`                                  |                             | x       |\n| `LDAP02_ADMIN_DN`   | Second Admin DN e.g. `cn=admin,dc=example,dc=org`                                    |                             | x       |\n| `LDAP02_BASE_DN`    | Second BASE DN e.g. `dc=example,dc=org`                                              |                             | x       |\n\nAdvanced mode allows for more than 3 profiles\n\n#### Plugins\n\nTo install plugins for use, set the appropriate variables in this syntax:\n\n`PLUGIN_\u003cpluginname\u003e=TRUE`\n\n| Variable                             | Description                                                               | Default                            |\n| ------------------------------------ | ------------------------------------------------------------------------- | ---------------------------------- |\n| `FUSIONDIRECTORY_PLUGIN_CUSTOM_PATH` | Store custom plugins that are not included in the image here to be loaded | `/custom/fusiondirectory/plugins/` |\n\nEnter inside the container and type `plugin list` for available plugins.\nYou must have the appropriate schemas installed in your LDAP server before using the plugin within FusionDirectory.\n\n##### Argonaut | User Reminders Plugin Specific Information\n\n| Parameter                        | Description                                                       | Default     |\n| -------------------------------- | ----------------------------------------------------------------- | ----------- |\n| `ENABLE_ARGONAUT`                | Enable Argonaut Server                                            | `FALSE`     |\n| `PLUGIN_ARGONAUT`                | Argonaut                                                          | `FALSE`     |\n| `PLUGIN_AUDIT`                   | Audit Trail                                                       | `FALSE`     |\n| `ENABLE_AUDIT_LOG_CLEANUP`       | Enable scheduled Audit Log Cleanups                               |             |\n|                                  | Default `TRUE` if `PLUGIN_AUDIT` plugin enabled                   |             |\n| `AUDIT_LOG_CLEANUP_CRON_EXP`     | Cron expression for when to run Audit log cleanup                 | `0 0 * * *` |\n| `PLUGIN_USER_REMINDER`           | Password Expiry                                                   | `FALSE`     |\n| `ENABLE_USER_REMINDER`           | Enable scheduled User Reminder emails                             |             |\n|                                  | Default `TRUE` if `PLUGIN_USER_REMINDER` plugin enabled           |             |\n| `USER_REMINDER_CLEANUP_CRON_EXP` | Cron expression for when to send user reminder emails log cleanup | `0 0 * * *` |\n\n#### Themes\n\n| Parameter                | Description                                                    | Default |\n| ------------------------ | -------------------------------------------------------------- | ------- |\n| `THEME_\u003cTHEMENAME\u003e_PATH` | Path to THEMENAME |         |\n\nYou can keep custom themes outside the FusionDirectory webroot for easier development and upgrades. For each theme, set an environment variable like:\n\n`THEME_MYTHEME_PATH=/path/to/mytheme`\n\nThe theme directory should have this structure:\n\n```text\nmytheme/\n  |-- html/\n  L__ ihtml/\n```\n\nThe container will automatically create symbolic links:\n- `/www/fusiondirectory/html/themes/mytheme` \u003e `/path/to/mytheme/html`\n- `/www/fusiondirectory/ihtml/themes/mytheme` \u003e `/path/to/mytheme/ihtml`\n\nThis keeps your custom themes separate from core files and makes switching or updating themes simple.\n\n\u003e\u003e `THEME_BREEZY_PATH` will copy the existing theme to your chosen path if files do not exist and create a symbolic link for development purposes.\n\n* * *\n\n\n## Maintenance\n\n### Shell Access\n\nFor debugging and maintenance, `bash` and `sh` are available in the container.\n\n## Support \u0026 Maintenance\n\n- For community help, tips, and community discussions, visit the [Discussions board](/discussions).\n- For personalized support or a support agreement, see [Nfrastack Support](https://nfrastack.com/).\n- To report bugs, submit a [Bug Report](issues/new). Usage questions will be closed as not-a-bug.\n- Feature requests are welcome, but not guaranteed. For prioritized development, consider a support agreement.\n- Updates are best-effort, with priority given to active production use and support agreements.\n\n## References\n\n- \u003chttps://www.fusiondirectory.org/\u003e\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrastack%2Fcontainer-fusiondirectory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfrastack%2Fcontainer-fusiondirectory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrastack%2Fcontainer-fusiondirectory/lists"}