Manage projects in SMEs with OpenProject

Best-Laid Plans

OpenProject for SMEs

OpenProject comes in several variants. Although the tool is open source software, the manufacturer offers commercially licensed products in the form of the Professional and Enterprise variants. The Community edition is open for everyone to use without license fees. The functionality the Community edition offers is absolutely fine for the vast majority of SMEs and their projects. The main advantage of the software is that it does not confront you with too many functions not needed in everyday life.

Another advantage is that the tool is web based; at its core it is a server application. The end effect is that OpenProject can be operated from any computer in a browser and that everyone accessing the tool sees the same status for every project. Other tools sometimes come as client applications, but then need a method in the background to keep their local datasets in sync. These factors are completely eliminated with OpenProject.

The OpenProject developers also offer a prefabricated Docker container. In principle, this can be started on any server with a working Docker runtime environment. The following example assumes you have a fresh Ubuntu 22.04, which can be virtualized, of course. Installing the Community edition of the Docker environment is described online [2], so I will not go into this aspect of the setup in detail.

Getting Started

Once a system with a working Docker environment is in place, you still need to complete a little preliminary work because OpenProject accesses a PostgreSQL database in the background to store its project data. The database itself is implicitly part of the container that also delivers OpenProject, but for the data you store in OpenProject to persist, the Docker container needs two volumes where it can permanently store the PostgreSQL data. You can create these on a standard Ubuntu and launch OpenProject with the commands in Listing 1.

Listing 1

Preliminary Work

mkdir -p /var/lib/openproject/{pgdata,assets}
sudo mkdir -p /var/lib/openproject/{pgdata,assets}
docker run -d -p 8080:80 --name openproject -e OPENPROJECT_HOST__NAME=<> -e OPENPROJECT_SECRET_KEY_BASE=<secret> -v /var/lib/openproject/pgdata:/var/openproject/pgdata -v /var/lib/openproject/assets:/var/openproject/assets openproject/community:12

Replace the value of OPENPROJECT_HOST__NAME with the hostname under which you will be accessing OpenProject. Very importantly, this hostname needs to be resolved locally by DNS. You do not need publicly resolvable hostnames, as long as the configuration on the local DNS server is correct. You also need to replace the password defined by OPENPROJECT_SECRET_KEY_BASE with a genuine password. Although OpenProject will run now, that does not mean it is ready for use.

Once again, SSL rears its head. The developers assume that OpenProject is not aware of SSL itself. Instead, the application expects to reside downstream of a load balancer or a reverse proxy that takes care of SSL termination. If you already operate a terminating proxy or load balancer locally, simply store the appropriate configuration for the OpenProject hostname on it and make sure the HTTP X-Forwarded-Proto flag is forwarded to OpenProject. If a proxy is not yet available locally, online documentation [3] describes how an HAProxy with the corresponding configuration can be implemented with a Docker container. The HAProxy should always be configured to point to port 8080 on the host on which OpenProject is running.

Creating or Importing Users

The OpenProject instance that has just been rolled out is still empty because you have not created any projects to date. After deployment, you will want to take a closer look at the user interface. After the initial installation, the login name and password are admin , and your first step will be to create some users. How this works depends on your local setup.

The easiest way to create accounts for your users is to set them up on the OpenProject admin console. Many SMEs today have LDAP or Active Directory user directories, so if a directory of this kind exists, you will want to connect it to OpenProject; otherwise, you are forced to maintain user data in multiple, independent locations, which makes no sense from either a convenience or compliance perspective.

OpenProject can also connect to an existing user directory from its administration console. What the community edition does not give you, however, is the ability to import from the directory service. You might need to maintain these groups at the OpenProject level as required.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=