À quoi ça sert
OpenProject est une suite de gestion de projet open source, alternative complète à Jira et Asana. Elle couvre l'agile (scrum, kanban), le waterfall (diagrammes de Gantt), le suivi du temps (timesheets, EVM), et la documentation projet (wiki, forums).
Cette fiche déploie OpenProject Community Edition avec un processus web (Rails), un worker en arrière-plan (Good Job pour les tâches asynchrones), un Memcached dédié et une base PostgreSQL.
Ce que vous obtenez
- Tableaux agile (scrum, kanban) avec backlog, burndown et velocity charts
- Diagrammes de Gantt interactifs, dépendances entre tâches, jalons
- Timesheets, suivi des budgets, Earned Value Management
- Wiki par projet, forums, gestion de documents, calendrier
- API REST v3 complète (Basic Auth par jeton
apikey:...) - Modules optionnels : BIM (modèles 3D / IFC), Nextcloud, GitLab, OneDrive
- Authentification SAML, OpenID Connect, LDAP, 2FA TOTP/WebAuthn
Pré-requis
Compte di2amp actif. Plan minimal : Pro. Addons utilisés : Postgres (obligatoire). Mémoire recommandée : 2 Gio pour le web, 1 Gio pour le worker.
Si vous n'avez pas encore créé de compte, suivez le guide de démarrage avant cette page.
001 Déploiement manuel via CLI
OpenProject utilise les variables PostgreSQL standard (PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD) et non un DATABASE_URL consolidé.
01 Créer l'app et le Postgres
Plan Postgres recommandé : standard (OpenProject seede environ une centaine de tables au démarrage).
02 Cloner le template
Le template contient un paas.toml avec trois processus (web, worker, seeder) et un initContainer qui attend que Postgres soit prêt.
03 Configurer les processus
[[processes]] name = "web" command = "bundle exec rails server" memory = "2Gi" port = 8080 [[processes]] name = "worker" command = "bundle exec good_job start --max-threads=4" memory = "1Gi" [[processes]] name = "seeder" type = "release" command = "bundle exec rake db:seed"
Le worker doit utiliser --max-threads=4 avec 1 Gio de mémoire pour éviter les OOM (sinon Good Job se fait tuer en boucle, code de sortie 137).
04 Pousser et seeder
Le job seeder tourne automatiquement comme processus de release. Il crée le compte admin / admin (à changer immédiatement) et quatre projets de démo.
002 Authentification API
L'API REST v3 utilise une clé API par utilisateur, transmise en Basic Auth avec l'identifiant fixe apikey :
curl -u "apikey:<votre_clef>" \ https://mon-pm.runtime.di2amp.com/api/v3/users/me
La clé est générée dans Mon compte → Jetons d'accès → Clé API. Tous les endpoints REST v3 supportent ce mode (projects, work_packages, time_entries, etc.).
Aller plus loin
Agents IA recommandés
- DBA pour surveiller les requêtes lentes sur les grosses tables
work_packages - FinOps pour suivre la consommation mémoire du worker (sensible aux jobs longs)
- SRE pour ajuster les ressources web/worker à la charge réelle
Addons utiles à ajouter ensuite
- S3 — Stockage durable des pièces jointes et exports PDF
- SSO — Authentification OpenID Connect pour vos équipes
Prêt à déployer
OpenProject ?
Suite complète de gestion de projet. Postgres inclus, 2 Gio mémoire web recommandés.