Public Repository

Last pushed: 13 hours ago
Short Description
Docker image for OpenProject Community Edition
Full Description

There are the following tags:

  • openproject/community:7 - The latest stable version of OpenProject's Community Edition.
  • openproject/community:7.0 - The latest build of the current release branch. This is not stable. As in this includes commits towards the next stable release currently being developed.

Quick start

This runs the latest stable branch of OpenProject. The database and attachments will be saved on the host. Meaning they will still be there after a restart of the docker container.

docker run \
  -p 8080:80 \
  -v /persistent/db-data/dir/on/host:/var/lib/postgresql/9.4/main \
  -v /persistent/openproject/data/on/host:/var/db/openproject \
  -e SECRET_KEY_BASE=youshouldoverwritethiswithsomethingelse \
  openproject/community:7

Don't forget to override the SECRET_KEY_BASE with a sensible value. I.e. a long, once randomly generated string.
After running this you can access OpenProject under http://localhost:8080.

Production

In production you will want to use a separate database running in a different container. Also it's a good idea to have the attachments on a NFS share if you want to run several OpenProject containers so that they share the attachments. Lastly a separate, shared memcached should be used so that the cache does not get lost when a container is restarted.

docker run \
  -v /mnt/nfs-share/openproject:/var/db/openproject \
  -e DATABASE_URL="postgres://user:password@host:5432/dbname?pool=10&encoding=unicode&timeout=5000&reconnect=true" \
  -e SECRET_KEY_BASE=youshouldoverwritethiswithsomethingelse \
  -e CACHE_MEMCACHE_SERVER=memcache.host
  -e CACHE_NAMESPACE=openproject
  openproject/community:7

Overriding DATABASE_URL allows you to use an external database.

SSL/TLS

The docker image does not support SSL. It only serves normal HTTP requests on port 80. If you do want OpenProject to be available under HTTPS you can put it behind a load balancer which takes care of SSL termination.

Alternatively you can use the packaged installation which does support SSL.

Docker Pull Command
Owner
openproject