Overview
Discover what makes OpenProject powerful
OpenProject is a fully self‑hosted, open‑source platform for end‑to‑end project management. From a technical standpoint it exposes a rich REST/GraphQL API, integrates natively with GitHub and other VCS tools, and supports both classic Gantt‑style planning and Agile/Scrum workflows. The core of the application is written in Ruby on Rails, leveraging the Rails MVC paradigm for rapid feature development while maintaining a clean separation of concerns. Data persistence is handled by PostgreSQL, which offers robust ACID guarantees and advanced JSONB support for storing flexible work‑package attributes. The front end is a modern JavaScript SPA built with Vue.js, communicating via JSON over HTTPS and utilizing WebSockets for real‑time updates.
Backend
Database
Frontend
Containerization
Overview
OpenProject is a fully self‑hosted, open‑source platform for end‑to‑end project management. From a technical standpoint it exposes a rich REST/GraphQL API, integrates natively with GitHub and other VCS tools, and supports both classic Gantt‑style planning and Agile/Scrum workflows. The core of the application is written in Ruby on Rails, leveraging the Rails MVC paradigm for rapid feature development while maintaining a clean separation of concerns. Data persistence is handled by PostgreSQL, which offers robust ACID guarantees and advanced JSONB support for storing flexible work‑package attributes. The front end is a modern JavaScript SPA built with Vue.js, communicating via JSON over HTTPS and utilizing WebSockets for real‑time updates.
Architecture
- Backend: Ruby on Rails 7.x, using the ActiveRecord ORM. The service layer is modularized into domain‑specific engines (e.g.,
work_packages,timesheets) that can be swapped or extended. Background jobs are processed with Sidekiq, backed by Redis for queuing and pub/sub. - Database: PostgreSQL 13+; schemas are versioned with Rails migrations. Large binary assets (e.g., attachments) can be stored in S3-compatible object stores via ActiveStorage.
- Frontend: Vue.js 3 with a component library that mirrors the Rails view layer. The SPA consumes a token‑based authentication system (JWT or OAuth2) and supports server‑side rendering for SEO and performance.
- Containerization: Official Docker images are provided; the
docker-compose.ymlincludes services for Rails, PostgreSQL, Redis, and Nginx. Kubernetes manifests are also available, making it straightforward to deploy on any cloud provider or bare‑metal cluster.
Core Capabilities
- Work Packages & Agile Boards: Exposes CRUD endpoints for tasks, epics, and stories. Kanban boards are rendered client‑side with drag‑and‑drop support.
- Roadmaps & Releases: API endpoints for milestones, versions, and release notes. Webhooks can be used to trigger CI pipelines.
- Time Tracking & Billing: Time entries are stored in a dedicated table; the API allows aggregation by project, user, or custom fields.
- Wikis & Forums: Markdown‑based content stored in PostgreSQL; endpoints support CRUD and revision history.
- GitHub Integration: Webhook listeners automatically link pull requests to work packages, and a REST endpoint can fetch PR status.
- Extensibility: A plugin framework allows developers to add new modules, UI components, or modify the data model. The API is versioned and documented with OpenAPI specs.
Deployment & Infrastructure
- Self‑Hosting: Requires a Linux host with Ruby, Node.js (for asset compilation), PostgreSQL, and Redis. The Docker images encapsulate all dependencies.
- Scalability: Horizontal scaling is achieved by running multiple Rails workers behind a load balancer; Sidekiq can be replicated across nodes. PostgreSQL can be set up in a master‑replica configuration for read scaling.
- High Availability: The Docker Compose setup supports clustering with Docker Swarm or Kubernetes. Health checks and rolling updates are baked into the CI pipeline.
- Backup & Restore: PostgreSQL dumps can be automated; ActiveStorage supports external back‑ups to cloud buckets.
Integration & Extensibility
- REST/GraphQL APIs: Fully authenticated, supporting pagination, filtering, and bulk operations. Swagger UI is available in the admin panel.
- Webhooks: Emit events for creation, update, and deletion of work packages; consumers can subscribe to specific event types.
- OAuth2 & SSO: Supports LDAP, SAML, and OpenID Connect for enterprise authentication.
- Plugins: Developers can write Ruby gems that hook into the Rails engine, expose new routes, or add UI widgets. The plugin system is documented with code samples and a “Plugin Quick Start” guide.
Developer Experience
- Configuration: Uses environment variables for all major settings; a
config/settings.ymlfile provides defaults. Therails consolegives instant access to the data model. - Documentation: Comprehensive online docs, including a “Developer Guide” that covers API usage, plugin development, and testing. Community forums and a public issue tracker foster rapid feedback.
- Testing: The codebase follows RSpec conventions; integration tests cover API endpoints and background jobs. Continuous integration runs on GitHub Actions.
- Community: Active mailing lists, Slack channels, and a quarterly conference keep contributors engaged. The project’s GPLv3 license encourages modification and redistribution.
Use Cases
- Enterprise PMO – Deploy on‑premises to keep all project data within corporate firewalls, while integrating with internal GitHub Enterprise and JIRA for issue tracking.
- Agile Studio – Spin up a Docker‑based instance for a small team; leverage the Kanban board API to build custom dashboards in React or Angular.
- Consulting Firm – Use the plugin system to add a custom cost‑reporting module that pulls data from external ERP systems via REST.
- Open Source Projects – Host a public instance that automatically links GitHub PRs to work packages, enabling community members to track progress in a self‑hosted environment.
Advantages
- Open Source & GPLv3: Full source visibility, no vendor lock‑in, and the freedom to modify core behavior.
- Feature‑Rich
Open SourceReady to get started?
Join the community and start self-hosting OpenProject today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Tags
Explore More Apps
miniserve
Quick CLI tool to serve files over HTTP
Hi.Events
Sell tickets, manage events, and grow audiences all in one
Statping-ng
Self‑hosted status page and monitoring server
Spree Commerce
Open‑source eCommerce platform for custom storefronts
Indico
Web‑based event and conference management platform
Prosody IM
Fast, lightweight XMPP server for secure messaging
