Installing OpenProject – with Helm Charts, packages and Docker
OpenProject currently offers various installation methods to meet the different needs and environments of users. Whether you want to set up a Kubernetes cluster with Helm Charts, prefer traditional packages like DEB or RPM, or lean towards a more simple containerized solution with our Docker all-in-one or Docker-Compose installation methods, OpenProject has you covered.
Each method offers its own advantages, so users can choose the one that best suits their infrastructure and expertise. In this article, we will give you an overview of the different methods and specifically explain what Helm Charts mean for OpenProject.
Containerized applications
OpenProject has been available as a Docker container application for a number of years now. Its primary advantage is the isolation and portability of the OpenProject application. You can run our containers everywhere with a Docker compatible container runtime installed. Compared to the packaged installation, where we do support a number of different distributions. You can however only run OpenProject on these fixed distributions with some additional requirements (such as installing on a fresh environment).
The all-in-one Docker container makes it even easier by providing an embedded PostgreSQL database for running OpenProject. But this has its downsides. The all-in-one container is not easily scalable, as the container hosts both web, background, and database processes. We have since then provided slim images, that you can plug into an existing database setup or use our docker-compose multi-container setup that separates the different services necessary for operating OpenProject.
The steps to set OpenProject based on docker-compose or packages are not too difficult (see our installation guides for more information), but targeted for smaller installations on a single host. What if you need to scale OpenProject on a number of hosts? That’s where many organizations tend to move towards a Kubernetes cluster for exactly this flexibility.
Maybe you already know what Kubernetes is, but probably some of our readers don’t. So let’s start with some basic information: What is Kubernetes, what are Helm Charts, and why did we provide them for OpenProject?
What is Kubernetes?
Kubernetes, often abbreviated as K8s, is an open source system for automating the deployment, scaling and management of containerized applications. It allows you to manage and distribute application containers across an arbitrary number of hosts, providing tools to automate deployment processes, scaling and operation of the application.
In basic terms, you might compare Kubernetes with the conductor of an orchestra: In an orchestra, the conductor ensures that every instrument plays its part at the right time. Similarly, Kubernetes clusters orchestrate the deployment of various components to create a harmonious application environment. You still need to “provide” the orchestra, the individual services and host systems that make up the cluster, and let Kubernetes manage and distribute the resources for you.
And with Kubernetes, there are Helm charts that allow you to install software like OpenProject as if it were a packaged installation.
What are Helm Charts?
Helm Charts are packages for Kubernetes that are designed to simplify the deployment, upgrading, and management of applications. They simplify the maintenance of complex Kubernetes applications into manageable, deployable units.
For OpenProject, Helm Charts provide a convenient and efficient way for deployment. They make it easy to update and manage the OpenProject instance. OpenProject did provide a template for Kubernetes before, which you had to more or less copy and paste and make your own. Since summer 2023, OpenProject offers Helm Charts, with which you can pull our newest version and plug in your configuration to ensure easier installation and upgrade paths.
Installing OpenProject with Helm Charts
To install OpenProject, you can leverage Helm Charts for a streamlined process. Only two commands are necessary to install OpenProject via Helm Charts:
helm repo add openproject https://charts.openproject.org
helm install openproject [options]
You can customize your OpenProject deployment through Helm Charts by configuring values and environment variables. Updating your configuration is also simplified with commands like helm upgrade
, offering an easy way to maintain and update your OpenProject environment.
More details and instructions can be found in the official OpenProject Helm Chart documentation for OpenProject – including a video on how to deploy OpenProject on your Kubernetes cluster using the Helm charts.
Other ways to install OpenProject
Apart from using Helm Charts, OpenProject can also be installed through DEB/RPM packages or Docker containers, offering flexibility for various system environments and user preferences.
Installing OpenProject with DEB/RPM Packages
For users operating a classic dedicated or virtualized server without any container runtimes, OpenProject offers are more traditional installation method using DEB or RPM packages. This approach is suitable for users wanting to install OpenProject on a smaller scale, usually on one or two servers.
For more information, read our detailed installation guide for Installing OpenProject with DEB/RPM packages.
Installing OpenProject with Docker container
Lastly, OpenProject offers a plain Docker-based installation method. Docker containers provide a convenient way to deploy applications in a controlled and isolated environment. This method is particularly beneficial for users looking for quick deployment and those who utilize Docker for their application management without requiring the additional complexity of Kubernetes. Note that the docker containers provided also form the basis of the Kubernetes installation method.
For more information, read our detailed instructions on installing OpenProject using Docker.
Our recommendation: Install OpenProject via Docker container
If you don’t already use a Kubernetes cluster, we recommend installing OpenProject via Docker container. Compared to traditional DEB/RPM package installations, Docker offers several advantages:
- Environment consistency: Docker ensures that OpenProject runs in the same environment regardless of where its deployed. This consistency reduces the “works on my machine” problem.
- Isolation: Docker containers are isolated from each other and the host system. This isolation can improve security and reduce conflicts between applications.
- Ease of deployment: Deploying with Docker can be more straightforward, especially for complex applications like OpenProject. Docker containers typically contain everything needed to run the application, simplifying setup and configuration.
- Version control and updates: Docker images are versioned, making it easier to control and roll back to specific versions of OpenProject. It also simplifies updating to new versions.
- Portability: Since Docker containers can run on any system with Docker installed, it’s easier to move applications across different environments, from development to production or from one server to another.