Giter Site home page Giter Site logo

ome / apacheds-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flecharoja/apacheds

42.0 8.0 60.0 76 KB

Dockerfile to build an ApacheDS container providing an LDAP and optionally a Kerberos service.

Home Page: https://hub.docker.com/r/openmicroscopy/apacheds/

Shell 21.46% Python 65.58% Dockerfile 12.96%
ome docker ldap testing

apacheds-docker's Introduction

ApacheDS

This Docker image provides an ApacheDS LDAP server. Optionally it could be used to provide a Kerberos server as well.

The project sources can be found on GitHub. The Docker image on Docker Hub.

Build

git clone https://github.com/openmicroscopy/apacheds-docker.git
docker build -t openmicroscopy/apacheds:2.0.0.AM26 apacheds-docker

Installation

The folder /var/lib/apacheds contains the runtime data and thus has been defined as a volume. The image uses exactly the file system structure defined by the ApacheDS documentation.

The container can be started issuing the following command:

docker run --name ldap -d -p 389:10389 openmicroscopy/apacheds

Usage

You can manage the ldap server with the admin user uid=admin,ou=system and the default password secret. The default instance comes with a pre-configured partition dc=openmicroscopy,dc=org.

An individual admin password should be set following this manual.

Then you can import entries into that partition via your own ldif file:

ldapadd -v -h <your-docker-ip>:389 -c -x -D uid=admin,ou=system -w <your-admin-password> -f sample.ldif

Customization

Custom Root DC

This image uses openmicroscopy.org as the root DC. To customize Apache with a different root DC, you will need to extend and rebuild your image.

First find and replace a number of strings within ome.ldif, instance/config.ldif and instance/ads-contextentry.decoded. Specifically find and replace dc=org, dc: org, openmicroscopy.org and openmicroscopy e.g for a custom root DC of example.com:

$ sed -i 's/openmicroscopy/example/g' ome.ldif ./instance/config.ldif ./instance/ads-contextentry.decoded
$ sed -i 's/dc=org/dc=com/g' ome.ldif ./instance/config.ldif ./instance/ads-contextentry.decoded
$ sed -i 's/dc: org/dc: com/g' ome.ldif ./instance/config.ldif ./instance/ads-contextentry.decoded

Then build, install and use as you normally would.

Custom Apache DS instances

It is also possible to start up your own defined Apache DS instance with your own configuration for partitions and services - see the ApacheDS documentation for more details. You need to mount your config.ldif replacing the default and set the APACHEDS_INSTANCE environment variable properly.

In the provided sample configuration, the instance is named default. Assuming your custom instance is called yourinstance the following command will do the trick:

docker run --name ldap -d -p 389:10389 -e APACHEDS_INSTANCE=yourinstance -v /path/to/your/config.ldif:/bootstrap/conf/config.ldif:ro openmicroscopy/apacheds

It would be possible to use this ApacheDS image to provide a Kerberos server as well. Just provide your own config.ldif file for that. Don't forget to expose the right port, then.

Also other services are possible. For further information read the configuration documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.