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
- If you have not already done so, sign up for an Eyevinn OSC account
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:
dburlwith 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"