Getting Started

OpenProject is a widely-used open source project management platform offering Gantt charts, Kanban boards, issue tracking, time logging, and team collaboration tools. Available as an open web service in Eyevinn Open Source Cloud, OpenProject gives teams a self-hosted alternative to Jira or Basecamp with full data ownership. This tutorial walks you through the steps to get started.

Prerequisites

Step 1: Create a PostgreSQL database

OpenProject requires a PostgreSQL database to store projects, work packages, users, and configuration. Navigate to the PostgreSQL service in the Eyevinn OSC web console. Click on the button "Create psql-db" and enter a name for the instance and a password.

Based on the IP and port, the URI to your PostgreSQL database is postgres://postgres:<password>@<IP>:<PORT>/postgres.

Step 2: Store the connection URL as a secret

It is good practice to store database credentials as a secret and reference them when creating an instance. Navigate to the OpenProject service in Eyevinn Open Source Cloud web console. Go to the tab "Service Secrets" and click on "New Secret".

Create the following secret:

  • dburl with the PostgreSQL connection URL from Step 1 (e.g. postgres://postgres:mypassword@172.232.131.169:10505/postgres)

Step 3: Create the OpenProject instance

Go to the tab "My openprojects" and click on "Create openproject". Fill in:

  • Name: a name for your instance (alphanumeric and underscores only)
  • DatabaseUrl: {{secrets.dburl}}

Click on the instance card when the status is green and "running".

Step 4: Log in to OpenProject

Open the instance URL in your browser. Login using the default admin credentials:

username: admin

password: admin

Important: You are required to change the default password on first login. Follow the on-screen prompts to set a new password and configure the admin email address.

Step 5: Create your first project

Once logged in, click + Project to create a new project. You can configure:

  • Project type: Classic (backlog + board), Scrum, or Kanban
  • Modules: Enable or disable Work packages, Gantt charts, Time tracking, Wiki, and more
  • Members: Invite team members and assign roles

Usage example

Connect to the OpenProject REST API from your application to create and update work packages programmatically:

const response = await fetch(
  'https://<your-instance-url>/api/v3/projects/<project-id>/work_packages',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Basic ' + btoa('apikey:<your-api-key>'),
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      subject: 'My new task',
      _links: { type: { href: '/api/v3/types/1' } },
    }),
  }
);

Generate an API key in OpenProject under My account → Access tokens.

CLI usage

osc create opf-openproject myproject \
  -o DatabaseUrl="postgres://postgres:mypassword@<IP>:<PORT>/postgres"

Resources