Public | Automated Build

Last pushed: 2 years ago
Short Description
Atlassian Crowd image
Full Description

##What is Crowd

Single sign-on application from Atlassian.

##Usage

Evaluation usage

docker run -p 8095:8095 -d codearte/atlassian-crowd

Production usage

For production usage to preserve application home directory you should point proper volume to directory on host instance. To preserve permission you must have user with uid=2000 and gid=2000 on your host. In the following we assume that /home/atlassian is your host directory. Of course you can change it anything else

groupadd -g 2000 atlassian
useradd -d /home/atlassian -m -g 2000 -u 2000 atlassian

Then we have to create directory for application host and add proper SELinux policy

mkdir /home/atlassian/crowd-home
chcon -Rt svirt_sandbox_file_t /home/atlassian/crowd-home

After such setup you can create your container:

docker run -p 8095:8095 -v /home/atlassian/crowd-home:/home/crowd/crowd-home --name crowd codearte/atlassian-crowd

Then to run your container you just invoke

docker start crowd

and to stop

docker stop crowd

###External database container

It possible to use Crowd with embedded database but it's not recommended for production usage. Of course we can use Docker to manage for example Postgres database.

docker run --name crowd-pgsql -e POSTGRES_PASSWORD=mysecretpassword -v /home/atlassian/crowd-pgsql:/var/lib/postgresql/data -d postgres

Now we can link application with database container using below command:

docker run -p 8095:8095 -v /home/atlassian/crowd-home:/home/crowd/crowd-home --name crowd --link crowd-pgsql:db codearte/atlassian-crowd

The database is accessible in the application container with following properties:

url = jdbc:postgresql://db:5432/postgres
user = postgres
pass = mysecretpassword
Docker Pull Command
Owner
codearte
Source Repository

Comments (2)
adille000
a year ago

This is very nice, but has one problem. If you start it and configure as Eval- that is, license, embedded db, setup admin credentials and then when you return to the login screen you _cannotlogin - due to the use of the IP address in crowd.properties file.

You need to attach to the running docker instance with a shell, ie.

$ docker exec -i -t backstabbing_ardinghelli /bin/bash

And then:

[crowd@246071230f7f ~]$ vi crowd-home/crowd.properties

And change the URL in crowd.server.url from the IP address of the Docker host to 'localhost.'

Then run stop_crowd.sh and then start_crowd.sh from your shell and then you can login.