{"id":27375098,"url":"https://github.com/katharostech/docker_apacheds","last_synced_at":"2025-06-13T20:35:19.358Z","repository":{"id":66216732,"uuid":"203446750","full_name":"katharostech/docker_apacheds","owner":"katharostech","description":"Docker image for the Apache Directory ( LDAP ) server with automated trusted certificate generation","archived":false,"fork":false,"pushed_at":"2019-09-06T21:40:21.000Z","size":8,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-05T06:56:59.122Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/katharostech.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}},"created_at":"2019-08-20T20:07:14.000Z","updated_at":"2019-09-06T21:40:23.000Z","dependencies_parsed_at":"2023-02-24T09:00:38.336Z","dependency_job_id":null,"html_url":"https://github.com/katharostech/docker_apacheds","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"06da972d99da906ff0d50911d90f7998fc350336"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/katharostech/docker_apacheds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katharostech%2Fdocker_apacheds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katharostech%2Fdocker_apacheds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katharostech%2Fdocker_apacheds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katharostech%2Fdocker_apacheds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/katharostech","download_url":"https://codeload.github.com/katharostech/docker_apacheds/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/katharostech%2Fdocker_apacheds/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259716422,"owners_count":22900873,"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":[],"created_at":"2025-04-13T12:14:26.369Z","updated_at":"2025-06-13T20:35:19.324Z","avatar_url":"https://github.com/katharostech.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker ApacheDS\n\nThis is a Docker image for [Apache Directory Server](http://directory.apache.org/apacheds/). It is *very* easy to run and can be configured using [Apache Directory Studio](http://directory.apache.org/studio/) or any other LDAP client like phpldapadmin. The container can also generate trusted certificates for serving LDAPS.\n\n## Usage\n\nJust run the container with forwarded LDAP ports and you are done!\n\n```sh\ndocker run -d --name apacheds -p 10389:10389 -p 10636:10636 -v apacheds-data:/opt/apacheds/instances/default kadimasolutions/apacheds\n```\n\nThis will start the ApacheDS server and persist its data in the named volume `apacheds-data`.\n\nThe server will be started with ApacheDS's default configuration. The default admin user's distinguished name (DN) is `uid=admin,ou=system` and the password is `secret`. This should be customized according to your needs using an LDAP client ( see above ).\n\nYou can also use Docker Compose:\n\n```yaml\nversion: '3'\nservices:\n  apacheds:\n    image: kadimasolutions/apacheds:latest\n    tty: true\n    stdin_open: true\n    ports:\n     - 10389:10389\n     - 10636:10636\n    volumes:\n     - apacheds-data:/opt/apacheds/instances/default\n\nvolumes:\n  apacheds-data:\n```\n\n### Java Args\n\nYou can pass in additional Java arguments with the `JAVA_OPTS` environment variable. For example: `JAVA_OPTS=\"-Xmx80M\"` will set the maximum heap size to 80 megabytes.\n\n## Using ACME to Generate Certificates\n\nThe container can automatically generate and renew trusted certificates verified by LetsEncrypt using DNS verification. This allows you to generate certificates behind a firewall, but only works if you have a [supported DNS provider](https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md).\n\nHere is an example Docker Compose file. Notice that there is an extra volume that must be persisted for the ACME cert data:\n\n```yaml\nversion: '3'\nservices:\n  apacheds:\n    image: kadimasolutions/apacheds:latest\n    tty: true\n    stdin_open: true\n    environment:\n      ACME_ENABLED: \"true\" # Default: false\n      ACME_TEST_MODE: \"true\" # Default: false\n      ACME_DOMAIN: ldap.mysite.com # Default: example.com\n      ACME_KEYSTORE_PASSWORD: helloworld # Default: changeit\n      # See https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md\n      ACME_DOMAIN_PROVIDER: dns_aws # Default: dns_cf\n      # Access keys specific to domain provider\n      AWS_ACCESS_KEY_ID: supersecretkeyid\n      AWS_SECRET_ACCESS_KEY: supersecretaccesskey\n    ports:\n     - 10389:10389\n     - 10636:10636\n    volumes:\n     - apacheds-data:/opt/apacheds/instances/default\n     - acme-data:/root/.acme.sh\n\nvolumes:\n  apacheds-data:\n  acme-data:\n```\n\nWhen the container runs it will generate a trusted certificate and put it in a keystore at  `/opt/apacheds/instances/default/conf/apacheds.p12`. You can then log onto the server using the normal LDAP protocol ( not encrypted ) and update the LDAPS configuration to use the keystore with the configured password ( if not specified in the environment variables, the default password is `changeit` ).\n\nAfter restarting the container LDAPS should be working and you should be able to connect to it from any LDAP client using LDAPS or StartTLS.\n\n\u003e **Note:** The container will automatically renew the certificate before it expires. After the certificate is renewed the ApacheDS server will **restart automatically**. The server will be down for the short period of time that it takes ApacheDS to restart.\n\u003e\n\u003eThe certificate renewal check is performed at 12:30am every day.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatharostech%2Fdocker_apacheds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkatharostech%2Fdocker_apacheds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatharostech%2Fdocker_apacheds/lists"}