Crowd Docker image
This folder contains the Dockerfile and associated files for the
griff/crowd docker image which aims to make it a breeze getting an Atlassian Crowd instance up and running.
If you just want a test setup to try out Crowd just do:
docker run -p 8095:8095 griff/crowd
And point your browser to http://localhost:8095 for the welcome screen.
The connection to the database can be specified with an URL of the format:
[database type]://[username]:[password]@[host]:[port]/[database name]
database type is either
postgresql and the full URL might look like this:
The URL can be used to fully configure the database for CrowdID but for Crowd you still have to manually go through the database setup step and specify the following:
- For type select: JNDI Datasource
- Select either PostgreSQL or MySQL depending on your configuration as the Database preconfiguration in the dropdown
java:comp/env/jdbc/CrowdDSas the JNDI Name
- Leave the other fields to their defaults.
Configuration & Components
The docker image is based on the standalone install of Crowd and as such consists of several independent components that each have several configurable options and that can also be entirely disabled. The configuration options themselves are set by setting environment variables when running the image
What follows is a short description of each component and the configuration options that affect that component. For all other aspects about configuring, using and administering Crowd please see The Official Crowd Documentation
The main component included and really the only component that you truly need. This component needs a database but can use an embedded HSQLDB for testing purposes and so the database related variables are not mandatory.
|CROWD_URL||URL used by the console to talk to itself.|
|CROWD_CONTEXT||Context path of the crowd webapp. Set this to
|CROWDDB_URL||Connection URL specifying where and how to connect to a database dedicated to crowd.|
|DATABASE_URL||If only Crowd and not CrowdID is set to load you can use this variable as an alternative to the
The bundled OpenID server. Like the Crowd component this also needs a database and it is imperative that this be independent of the Crowd database.
|CROWD_URL||URL of the crowd server that the webapp talks to. This need not be on the same machine that is running the CrowdID component.|
|CROWDID_CONTEXT||Context path of the CrowdID webapp. Defaults to
|CROWDIDDB_URL||Connection URL specifying where and how to connect to a database dedicated to CrowdID. This database must be separate from the one used by Crowd|
|DATABASE_URL||If only CrowdID and not Crowd is set to load you can use this variable as an alternative to the
|CROWDID_LOGIN_URL||The URL that crowd will redirect the user to this URL if their authentication token expires or is invalid due to security restrictions.|
An OpenID client that can be used to test the CrowdID integration.
|OPENID_CLIENT_CONTEXT||Context path of the client. Defaults to
A demonstration webapp that shows how Crowd integration works.
|CROWD_URL||URL of the crowd server that the webapp talks to.|
|DEMO_CONTEXT||Context path of the crowd webapp. Set to blank string to not load the Crowd component. Please note that the context path for each component must be unique. Defaults to
|DEMO_LOGIN_URL||The URL that crowd will redirect the user to this URL if their authentication token expires or is invalid due to security restrictions.|
Default welcome splash pages
This component serves just as a welcome page and since it is by default loaded as the root context will be the first thing you see when going to http://localhost:8095. As such it has links to the other components but keep in mind that these links will not be updated should you change the context path of any of the components.
For anything but a default install it is recommended that you disable this component by setting its context path to the empty string.
|SPLASH_CONTEXT||Context path of the splash pages. Defaults to
To start Crowd with the context path removed. Basically having the startup script perform the steps from the Crowd FAQ. Simply run:
docker run -e CROWD_CONTEXT=ROOT -e CROWD_URL=http://localhost:8095 -e SPLASH_CONTEXT= -p 8095:8095 griff/crowd
To only run CrowdID, pointing it at a Crowd at http://crowd.example.local:8095/crowd and with a postgresql database at db.example.local:
docker run -e CROWD_URL=http://crowd.example.local:8095/crowd -e DATABASE_URL=postgresql://crowdid:email@example.com/crowdiddb -e CROWDID_CONTEXT=ROOT -e CROWD_CONTEXT= -e SPLASH_CONTEXT= -e DEMO_CONTEXT= -e OPENID_CLIENT_CONTEXT= -p 8095:8095 griff/crowd