[{"data":1,"prerenderedAt":224},["ShallowReactive",2],{"seo-verification":3,"blog-openproject-project-management-gantt-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-openproject-project-management-gantt-vps-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":157,"ctaBody":158,"ctaButton":159,"ctaUrl":160,"relatedPosts":161},429,"openproject-project-management-gantt-vps",{"fr":12,"en":10,"ar":13,"es":14},"openproject-gestion-projet-gantt-vps","openproject-إدارة-المشاريع-gantt-vps","openproject-gestion-proyectos-gantt-vps","OpenProject on VPS: Gantt, milestones and time tracking","Deploy OpenProject on a VPS in 30 min: native Gantt, time sheets, milestones and wiki in the free GPLv3 Community edition. Guide with Docker Compose, nginx and TLS.",7,0,false,"2026-10-10T00:00:00+00:00","2026-10-10T21:55:40+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},3,"Deployment","deploiement","bg-success\u002F10 text-success",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fopenproject-gestion-projet-gantt-vps-poster.svg","Jira Data Center has been forcing migrations to the Cloud since 2024, with pricing grids revised upward every quarter. For agencies that bill by the hour and coordinate multiple teams, paying per seat is no longer sustainable. OpenProject addresses this need precisely: it is an enterprise project management tool — native Gantt, time sheets, contractual milestones, wiki — distributed under the GPLv3 license, making it self-hostable with no licensing costs. This guide explains how to deploy it on a VPS using the official Docker image, place it behind nginx with TLS, and get started with the first project.",[34,37,47,49,53,91,109,120,123,140,143,146,153,155],{"type":35,"body":36},"p","Why agencies are looking for a Jira alternative in 2026. The migration to Jira Cloud has brought several successive price increases: end-of-life for Data Center announced, end of perpetual Server licenses, and Cloud pricing revisions in 2024 and again in 2026. For a ten-person agency, the annual cost of a cloud PM tool — Jira, Asana, Monday — routinely exceeds 3,000 euros. OpenProject Community edition, self-hosted on a VPS, reduces this line item to zero outside infrastructure costs.",{"type":38,"items":39},"ul",[40,41,42,43,44,45,46],"Interactive Gantt chart with task dependencies and critical path","Time tracking per task and per project, exportable as CSV for billing","Milestones and contractual deliverables attached to the roadmap","Integrated wiki for project documentation, without a third-party tool","Version and release management for software projects","Granular role-based access control (viewer, contributor, project manager, administrator)","GPLv3 license: the source code is auditable and no telemetry is imposed",{"type":35,"body":48},"Prerequisites: 2 GB RAM minimum. OpenProject runs on Ruby on Rails server-side, which explains its higher memory footprint compared to tools like Plane or Vikunja. In practice, 2 GB of RAM is sufficient for a team of five to fifteen people with a few active projects. A 2 vCPU \u002F 2 GB VPS handles the load. For twenty or more people, moving to 4 GB avoids slowness when loading complex Gantt charts. The disk should provision at least 20 GB for PostgreSQL, attachments and logs.",{"type":50,"title":51,"body":52},"h2","OpenProject, Plane and Kaneo: three tools, three positions","Three open-source project management tools, three different approaches. The comparison below helps choose based on team needs.",{"type":54,"rows":55,"headers":85,"title":90},"comparison",[56,61,66,70,75,80],[57,58,59,60],"Primary paradigm","Enterprise PM: Gantt, milestones, time sheets, budgets","Agile PM: cycles, backlogs, sprints, custom states","Visual Kanban: cards, columns, labels",[62,63,64,65],"Native Gantt","Yes, with dependencies and critical path","No (partial roadmap, without dependencies)","No",[67,68,69,65],"Time tracking","Yes, per task and per project","Not in Community version",[71,72,73,74],"Target","Agencies, teams with contractual milestones, multi-year projects","Agile product teams, small startups","Teams wanting a minimal Kanban",[76,77,78,79],"Minimum RAM","2 GB","1 GB","512 MB",[81,82,83,84],"License","GPLv3","AGPL v3","MIT",[86,87,88,89],"Critère","Openproject","Plane","Kaneo","Comparatif",{"type":92,"steps":93},"steps",[94,97,100,103,106],{"title":95,"body":96},"Prepare the VPS","Connect via SSH, update packages and install Docker with the Compose plugin: `apt update && apt install -y docker.io docker-compose-plugin`. Verify with `docker compose version` (v2.x expected).",{"title":98,"body":99},"Fetch the official Compose file","Clone the official deployment repository: `git clone https:\u002F\u002Fgithub.com\u002Fopf\u002Fopenproject-deploy.git \u002Fopt\u002Fopenproject && cd \u002Fopt\u002Fopenproject\u002Fcompose`. This repository maintains the `docker-compose.yml` file and the `.env` file recommended by the OpenProject team.",{"title":101,"body":102},"Configure environment variables","Copy the example: `cp .env.example .env` then edit `.env`. Required variables: `OPENPROJECT_HOST__NAME=your-domain.com` (double underscore), `OPENPROJECT_HTTPS=true`, and `SECRET_KEY_BASE` generated by `openssl rand -hex 64`. Also set `POSTGRES_PASSWORD` and `OPENPROJECT_DB_PASSWORD` to the same strong value.",{"title":104,"body":105},"Start the containers","Run `docker compose up -d`. The `openproject\u002Fcommunity:latest` image downloads approximately 600 MB. The first start takes two to four minutes for the database migrations to run. Monitor with `docker compose logs -f web` until you see `Listening on tcp:\u002F\u002F0.0.0.0:8080`.",{"title":107,"body":108},"Verify the application responds","From the VPS: `curl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" http:\u002F\u002Flocalhost:8080`. A 200 or 302 code confirms the application is live. At this stage it is only accessible locally — the nginx reverse proxy follows in the next step.",{"type":92,"steps":110},[111,114,117],{"title":112,"body":113},"Install nginx and certbot","On Debian\u002FUbuntu: `apt install -y nginx certbot python3-certbot-nginx`. Ensure the DNS for your domain points to the VPS IP before continuing.",{"title":115,"body":116},"Create the nginx vhost","Create `\u002Fetc\u002Fnginx\u002Fsites-available\u002Fopenproject` with: `server { listen 80; server_name your-domain.com; location \u002F { proxy_pass http:\u002F\u002F127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_read_timeout 120s; client_max_body_size 100M; } }`. Enable it: `ln -s \u002Fetc\u002Fnginx\u002Fsites-available\u002Fopenproject \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F && nginx -t && systemctl reload nginx`.",{"title":118,"body":119},"Obtain the TLS certificate","Run `certbot --nginx -d your-domain.com`. Certbot modifies the vhost to listen on port 443, adds `ssl_certificate` directives and configures HTTP→HTTPS redirection automatically. The certificate renews via the `certbot.timer` systemd timer.",{"type":50,"title":121,"body":122},"Create your first project and configure the Gantt","Once OpenProject is deployed and accessible, these steps guide creating the first project and enabling the Gantt view.",{"type":92,"steps":124},[125,128,131,134,137],{"title":126,"body":127},"Access the interface and change the admin password","Open `https:\u002F\u002Fyour-domain.com` in a browser. Log in with `admin` \u002F `admin` and change the password immediately. Then configure the application URL in Administration > Settings > General if it was not automatically detected from `OPENPROJECT_HOST__NAME`.",{"title":129,"body":130},"Create a project and invite members","Click New Project, choose a name, enable the useful modules: Work Packages, Gantt, Time Tracking, Wiki. Invite members from the Settings > Members tab by assigning them a role (Member, Project Manager, etc.).",{"title":132,"body":133},"Create tasks and define dependencies","In the Work Package list view, create the first tasks with start and end dates. Switch to Gantt view to visualize the timeline. To create a dependency, open a task and fill in the Precedes field with the parent task number.",{"title":135,"body":136},"Configure milestones","A milestone is a task of type Milestone. Create one from the Gantt view (type Milestone) or from the list by changing the type. Milestones appear as diamonds on the chart — useful for marking contractual deliverables.",{"title":138,"body":139},"Enable time sheets","In Administration > Settings > Work Logs, enable the module. Each member can then log time via the stopwatch button on an open task. Aggregated reports by project and period are accessible from Reports > Work Logs.",{"type":141,"body":142},"tip","Weekly PostgreSQL backups: add this cron on the VPS to export the database weekly: `0 3 * * 0 docker exec openproject_db pg_dump -U openproject openproject | gzip > \u002Fvar\u002Fbackups\u002Fopenproject_$(date +%Y%m%d).sql.gz`. Keep the last seven archives with `find \u002Fvar\u002Fbackups -name 'openproject_*.sql.gz' -mtime +7 -delete`. Test restoration once a month in an isolated environment.",{"type":50,"title":144,"body":145},"Troubleshooting — common errors","The most common errors during OpenProject deployment or first use, with their solutions.",{"type":38,"items":147},[148,149,150,151,152],"`502 Bad Gateway` on first start: Rails migrations are not complete. Wait two to five minutes and check `docker compose logs web` to confirm listening on port 8080.","Blank page or 500 error: `SECRET_KEY_BASE` is empty or incorrectly set. Regenerate with `openssl rand -hex 64` and restart with `docker compose up -d --force-recreate`.","Rejected attachments: nginx default size limit is 1 MB. Increase `client_max_body_size` in the vhost (100 MB recommended for project files).","Email delivery issues: configure `OPENPROJECT_SMTP_*` variables in `.env` (SMTP host, port 587, credentials). Without SMTP configuration, member invitations are not sent.","Image update: `docker compose pull && docker compose up -d`. OpenProject runs migrations automatically on startup. Make a database backup before each major update.",{"type":35,"body":154},"Sovereign adoption: the Dutch case. In September 2026, the Dutch government published the specifications for DAWO (Digitaal Autonome Werkomgeving Overheid), a sovereign workplace environment plan based on NixOS. The selected stack includes Nextcloud for files, Element for messaging, Collabora for office documents and OpenProject for project management. This choice validates the tool's maturity for contexts where data hosting cannot be delegated to a US provider.",{"type":35,"body":156},"Going further. OpenProject covers projects with heavy Gantt and time-sheet requirements. For an agile product backlog, Plane (cycles and sprints) is a better fit. For a lightweight Kanban with minimal memory overhead, Kaneo remains the most economical option. If you manage multiple clients from a single interface, the ServOrbit agency space lets you supervise each client's VPS, access consoles and manage renewals without juggling multiple dashboards.","Manage your clients' VPS from a centralized space","The ServOrbit agency space lets you provision, monitor and renew all your clients' VPS from a single interface. Each client has their own isolated environment, and you retain full control over the infrastructure.","Discover the agency space","\u002Fsolutions\u002Fagences",[162,182,202],{"id":163,"slug":164,"slugs":165,"title":169,"excerpt":170,"readTime":171,"views":172,"isPinned":19,"publishedAt":173,"updatedAt":174,"category":175,"categories":176,"featuredImage":29,"bgImage":30,"posterImage":178,"relatedSolution":179},270,"migrating-from-jira-data-center-to-openproject-or-plane-on-vps",{"fr":166,"en":164,"ar":167,"es":168},"migrer-jira-openproject-plane-vps-2026","هجرة-jira-data-center-إلى-openproject-أو-plane-على-vps","migrar-de-jira-a-openproject-o-plane-en-vps","Migrating from Jira Data Center to OpenProject or Plane on VPS","Jira Data Center stopped selling new licenses in March 2026 and goes read-only on March 28, 2029. Migrate to OpenProject or Plane on your VPS in a single working day.",13,1,"2026-08-16T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[177],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fmigrer-jira-openproject-plane-vps-2026-poster.svg",{"categorySlug":180,"appSlug":181},"collaboration-productivity","plane",{"id":183,"slug":184,"slugs":185,"title":189,"excerpt":190,"readTime":191,"views":18,"isPinned":19,"publishedAt":192,"updatedAt":174,"category":193,"categories":198,"featuredImage":29,"bgImage":30,"posterImage":200,"relatedSolution":201},252,"deploy-plane-self-hosted-on-a-linux-vps",{"fr":186,"en":184,"ar":187,"es":188},"deployer-plane-vps","نشر-plane-كاستضافة-ذاتية-على-خادم-vps-لينكس","desplegar-plane-en-un-vps-linux","Deploy Plane on a VPS: guide and post-2.3.7 regressions","Install Plane AIO on your VPS with Docker. Complete guide including known regressions in versions 2.3.7 to 2.4.1, the safe update procedure and troubleshooting.",9,"2026-08-13T00:00:00+00:00",{"id":194,"name":195,"slug":196,"color":197,"icon":196},2,"Automation","automatisation","bg-brand-action\u002F10 text-brand-action",[199],{"id":194,"name":195,"slug":196,"color":197,"icon":196},"\u002Fblog\u002Fcovers\u002Fdeployer-plane-vps-poster.svg",{"categorySlug":180,"appSlug":181},{"id":203,"slug":204,"slugs":205,"title":209,"excerpt":210,"readTime":211,"views":18,"isPinned":19,"publishedAt":212,"updatedAt":213,"category":214,"categories":219,"featuredImage":29,"bgImage":30,"posterImage":221,"relatedSolution":222},242,"host-kaneo-on-a-vps-minimalist-open-source-project-management",{"fr":206,"en":204,"ar":207,"es":208},"self-host-kaneo-vps","استضافة-kaneo-على-vps-إدارة-مشاريع-مفتوحة-المصدر-وبسيطة","alojar-kaneo-en-un-vps-gestion-de-proyectos","Host Kaneo on a VPS: Minimalist Open-Source Project Management","Deploy Kaneo on your VPS — the lightweight open-source project manager with Kanban boards and GitHub integrations. MIT, 7.9 k+ stars, v2.16.",10,"2026-08-10T00:00:00+00:00","2026-09-11T11:34:11+00:00",{"id":17,"name":215,"slug":216,"color":217,"icon":218},"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[220],{"id":17,"name":215,"slug":216,"color":217,"icon":218},"\u002Fblog\u002Fcovers\u002Fself-host-kaneo-vps-poster.svg",{"categorySlug":180,"appSlug":223},"kaneo",1791669703846]