Introduction
Redmine has been a staple of open-source project management since 2006. Written in Ruby on Rails, it provides a comprehensive set of tools for issue tracking, project planning, wiki documentation, and time logging. Its strength lies in flexibility: custom fields, configurable workflows, role-based access control, and a plugin ecosystem with hundreds of extensions make it adaptable to workflows ranging from software development to research and operations.
What Redmine Does
- Tracks issues with customizable statuses, priorities, categories, and workflow transitions per role
- Supports multiple projects with cross-project issue relations and shared resources
- Provides Gantt charts, calendars, and roadmap views for project planning and progress tracking
- Includes built-in wiki, document management, and file repository per project
- Offers time tracking with activity categorization and reporting for project accounting
Architecture Overview
Redmine is a Ruby on Rails application that supports MySQL, PostgreSQL, and SQLite as database backends. It runs on any Ruby-capable server using Puma, Passenger, or Unicorn as the application server, typically behind Nginx or Apache. The plugin system allows Ruby gems to extend models, views, and controllers. SCM integration connects directly to Git, SVN, Mercurial, and other repositories for commit cross-referencing within issues.
Self-Hosting & Configuration
- Deploy via Docker using the official Redmine image with database and volume configuration
- For bare-metal, install Ruby, Bundler, and a database, then follow the standard Rails deployment process
- Configure database.yml and application settings through the web admin panel or configuration.yml
- Install plugins by cloning them into the plugins directory and running database migrations
- Set up email notifications via SMTP configuration in configuration.yml for issue updates and assignments
Key Features
- Fully customizable issue workflow with per-tracker, per-role transition rules
- Custom fields on issues, projects, users, and time entries for domain-specific data
- Built-in repository browser with commit-to-issue linking via keywords in commit messages
- Role-based access control with fine-grained permissions across projects
- REST API and Atom feeds for integration with external tools and dashboards
Comparison with Similar Tools
- OpenProject — Modern Rails-based alternative with BIM support, but heavier and enterprise-focused
- Jira — Industry standard but proprietary, complex, and requires a license
- Plane — Newer open-source tool with a modern UI, but less mature plugin ecosystem
- Taiga — Agile-focused project management; less flexible for non-agile workflows than Redmine
FAQ
Q: Is Redmine still actively maintained? A: Yes. Redmine continues to receive regular releases with security patches and feature improvements from its core team and community.
Q: How do I add custom fields? A: Navigate to Administration > Custom Fields in the web UI. You can add text, list, date, boolean, and other field types to issues, projects, users, and more.
Q: Can Redmine integrate with Git? A: Yes. Configure a repository in project settings pointing to a bare Git repo. Redmine will index commits and link them to issues via keywords like "refs #123" in commit messages.
Q: How do plugins work? A: Drop the plugin into the plugins/ directory, run bundle install and rake redmine:plugins:migrate, then restart Redmine. Plugins can add new issue fields, views, hooks, and entire modules.