Planning software for project offices, with Gantt charts and time and cost tracking, on dedicated machines in Switzerland, the EU or your own datacentre. Pilae runs it on your own servers, or in Zurich, Switzerland, and eleven other Pilae Cloud regions.
- Licence
- GPL-3.0-only
- Runs on
- Your own hardware, or any of twelve Pilae regions — six of them in Switzerland and the EU
- Upgrades
- Pinned, tested against your configuration, applied in your window
- Upstream
- www.openproject.org
Running OpenProject in production: what it takes
Pin and deploy the stack
Web processes, the background worker, cron and memcached at a version we have run, on PostgreSQL 16 or later. Attachments are stored in the country you chose, and the collaboration server is added where people edit documents together.
Connect sign-in and mail
LDAP against your directory on the Community edition, or OpenID Connect through Keycloak or Entra ID on a Professional plan. Notifications and email summaries go out through your relay.
Watch the background worker as well as the page
Probes call the web, database and worker health checks every 60 seconds. A backed-up job queue means late notifications and stuck exports while the pages still load, so it raises an alert that reaches an engineer.
Back up the set with its secret key
The database, the attachments and the secret key base go offsite daily, encrypted, in your chosen country. Once a month we restore them into a scratch instance, sign in and open a Gantt chart with its files.
Upgrade one major at a time, in your window
OpenProject upgrades from one major release to the next and no further, with database migrations each time. The Pilae Agent tests each step on a copy of your data and waits for your approval. In your window it lets the job queue drain, applies the step and records it in the console.
What OpenProject is, and who runs it
Self-hosted OpenProject for Gantt charts, time and cost tracking
OpenProject is project management software for organisations that plan in phases, milestones and budgets as well as in sprints. Work packages hold the tasks, summary tasks and milestones, and the Gantt chart schedules them from predecessor links. Boards, backlogs, time and cost tracking, meetings with agendas and minutes, and a wiki sit beside them. It descends from Redmine and ChiliProject and is developed by OpenProject GmbH in Berlin. It is also the project management component of openDesk, the workplace suite ZenDiS builds on behalf of the German federal government. For public-sector teams, the OpenProject we run on its own is the same software that ships inside openDesk.
It is a tool for a project office more than for an engineering team. If your developers want a fast issue tracker, Plane suits them better, and the two run side by side. Project files can stay in Nextcloud, linked from each work package. We run OpenProject on dedicated machines, in Zurich or another of our twelve Pilae Cloud regions, half of them in Switzerland and the EU, or on your own hardware. It answers only on your private network.
OpenProject in production: workers, attachments and upgrades
OpenProject has more moving parts than its login page suggests: web processes, a background worker that sends mail and builds exports, a cron process, memcached, PostgreSQL, and a collaboration server for live document editing. We deploy them from the official images, pinned to a version we have run, on PostgreSQL 16 or later with the extensions it needs. The attachments are backed up on the same night as the database, and the secret key base is escrowed beside them, because a restore without it signs every user out.
Upgrades are where installations fall behind. OpenProject migrates from one major release to the next and no further, so an instance left alone for two years needs every step in between. The Pilae Agent walks those steps on a copy of your data first, then applies each one in your window once you approve it and records it in the console.
OpenProject licence: Community edition and Enterprise plans
The Community edition has no per-user fee and includes Gantt charts, boards, time and cost tracking, meetings, the wiki and LDAP sign-in. Single sign-on is the usual reason to buy an Enterprise token: Keycloak or Entra ID needs the Professional plan or above. We tell you which plan your requirements need before deployment. Pricing for our operation is on request. Talk to us about the plans you want to bring across.
OpenProject system requirements
Before anything is deployed, this is what has to exist. We size it with you in the first session, and we say so when your own hardware is already enough.
- CPU and memory
- 4 vCPU · 8 GBUpstream's floor is four cores and 4 GB for up to 200 users. We size at 8 GB because upstream's own small-instance example gives the background worker 4 GB on its own, and large exports can want more.
- Database
- PostgreSQL 16+With the pg_trgm, btree_gist and unaccent extensions. Older versions may start but are not supported, so an old database is upgraded before the app is.
- Cache
- memcachedOpenProject relies heavily on caching. Once there is more than one application node, every web and worker process shares the same memcached.
- Attachments
- Volume or S3-compatible bucketFiles on work packages, meetings and wiki pages. They are backed up on the same night as the database, because a restore needs both.
- Sign-in
- LDAP · OIDC and SAML on ProfessionalThe Community edition signs in with local accounts, two-factor authentication or LDAP. OpenID Connect and SAML, for Keycloak or Entra ID, need a Professional plan or above.
Migrating from Microsoft Project to OpenProject
OpenProject has no importer for Microsoft Project files, so plans come across through its API, from an XML or Excel export of each plan. Tasks, summary tasks, milestones, dates and finish-to-start links map to work packages, parent and child relations, and predecessor links with a lag in working days. Other link types do not: predecessor and successor is the only OpenProject relation that moves dates, so start-to-start and finish-to-finish links become a lag or a plain relation, agreed with the planner. A task with several resources gets one assignee, a group or child work packages. Baselines saved in the file stay behind, because baseline comparisons in OpenProject read its own history, which starts on the day of the import. Deciding which plans are still live takes longer than the import itself.
List the live plans
Which .mpp files and Project Server or Project Online projects are still being updated, who owns each, and which custom fields and calendars they depend on. Closed plans are kept as read-only exports.
Agree the mapping
Summary tasks, task types, link types, resources and custom fields are mapped to OpenProject types, relations, assignees and custom fields, plan by plan, with the planner signing off.
Import into staging and compare dates
Each plan goes into a staging instance through the API. The planner compares the Gantt chart and the milestone dates against Microsoft Project before anything is final.
Cut over at a period boundary
Plans freeze in Microsoft Project on an agreed date, the final import runs, and time and cost are booked in OpenProject from the start of the next period. The old files stay readable as a record.
What an OpenProject restore needs
postgresql-dump-20260924021500.pgdumpdatabase, 3.2 GB
- work_packagestasks, summary tasks, milestones and their dates
- journalshistory, which baseline comparisons read
- time_entries, cost_entrieshours and costs booked against budgets
- enterprise_tokensthe plan token, if you hold one
attachments-20260924021500.tar.gzuploads, 41 GB
- files/restored under /var/openproject/assets/files
- SECRET_KEY_BASEescrowed with the set; a new one signs everyone out
- image tagpinned with the set; a dump more than one major behind can crash-loop the seeder
- git and svn repositoriesonly if the repository module is in use
What Pilae is responsible for
A pinned version
A version we have run, not whatever latest resolves to that day.
A runbook
What it depends on, how it fails, what to do about it. In your repository.
A restore drill
Backups restored on a schedule. A backup nobody has restored is a file.
A patch window
Security updates in a window you agreed, with a rollback ready.
Someone watching
Every endpoint probed on the minute. An alert reaches a person, not a dashboard nobody opens.
- Where it runs
- zur1, fra1, fal1, gra1, ams1, hel1, lon1, ash1, hil1, sin1, tok1, syd1, on-premZurich, Frankfurt, Falkenstein, Gravelines, Amsterdam, Helsinki, London, Ashburn, Hillsboro, Singapore, Tokyo, Sydney, Your own hardware
- Who holds the credentials
- You do. Ours are separate, named, logged and revocable with one command. We ask before anything changes outside an agreed window.
- If you leave
- The machine, the data, the compose files and the runbook are already yours. Nothing stops when our access does.
What drives the price of running OpenProject
Pricing is on request: a fixed price for onboarding, then a monthly price for OpenProject, quoted in writing within five business days. The plans set what every deployment includes; these are the inputs the quote is built from.
- Instance size
- The CPU, memory and, where a model runs, the GPUs the app needs for your users and your data.
- High availability
- One machine with tested restores, or a replicated setup that keeps serving when a node fails.
- Storage and backups
- How much data it holds, how long backups are kept, and point-in-time recovery for its database.
- Plan and support
- Essential, Business or Enterprise: support hours, response times in the contract and how often we review the service with you.
- Region
- Your own hardware, where the infrastructure is already yours, or a Pilae Cloud region, where it is passed through at cost plus a fixed margin.
- Sign-on and integrations
- Single sign-on, directory sync, mail relays and the other systems the app has to reach.
OpenProject: common questions
Is OpenProject open source?
Can OpenProject replace Microsoft Project?
Do we need an Enterprise plan?
Can we bring our Jira projects across as well?
Where does our project data live?
Also in business
Odoo Community
Open-source ERP for sales, invoicing, inventory, purchasing and manufacturing, operated on your own servers or dedicated machines in Switzerland and the EU.
Replaces SAP Business One, Microsoft Dynamics
Plane
Issues, cycles and roadmaps for engineering and product teams, on dedicated machines in Switzerland, the EU or your own datacentre.
Replaces Jira, Linear
Cal.com
Booking pages synced with your calendars, run on dedicated machines in any of 12 Pilae Cloud regions, six of them in Switzerland and the EU, or your own datacentre, from the MIT-licensed community edition of Cal.com.
Replaces Calendly
Bring us your OpenProject. We will tell you what it takes.
Thirty minutes on the deployment you already have, or the one you are about to start.