Public Repository

Last pushed: 19 days ago
Short Description
Docker image for OpenProject Community Edition
Full Description

There are the following tags:

  • openproject/community:7 - The latest stable version (7.x) of OpenProject's Community Edition.
  • openproject/community:7.4 - The latest version (7.4.x) of OpenProject's Community Edition
  • openproject/community:7.4.0 - Version 7.4.0 of OpenProject's Community Edition

There are also respective tags for older versions beginning from 7.3.2.

Warning if you are using PostgreSQL:

OpenProject 7.4.0 requires UPSERT which is only supported from Postgres 9.5 on.
That means if you want to update from OpenProject 7.3.2 to 7.4.0 you have to upgrade your Postgres database.

See also the Postgres Migration Guide.

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