Layer 5 · self-hosting reality check
What it actually takes to self-host Redmine
The docs say Not stated by the vendor. A single Redmine app process normally uses 256–512 MB (redmine.org issue #34497). Cloudron's package caps the app container at 600 MB and runs the database separately. In practice you want 2 GB for Redmine plus PostgreSQL or MySQL on one box. Each app process sits at 256–512 MB and can spike past 1 GB on large issue trees or expensive queries. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Jira alternatives, where Redmine is one of the picks.
Wondering whether you need to at all? Is Jira free? — what the free tier actually allows, and where the wall is.
| RAM — documented minimum | Not stated by the vendor. A single Redmine app process normally uses 256–512 MB (redmine.org issue #34497). Cloudron's package caps the app container at 600 MB and runs the database separately |
|---|---|
| RAM — what it really needs | 2 GB for Redmine plus PostgreSQL or MySQL on one box. Each app process sits at 256–512 MB and can spike past 1 GB on large issue trees or expensive queries |
| CPU | Not stated by the vendor; 1–2 vCPU is the usual small-VPS shape for a single Rails app |
| Disk | The files/ directory holds every attachment and is what grows; the database stays small. Back up both together. |
| Monthly cost | $6–12/mo for a 5–20 user instance on a 2 GB VPS |
| Setup time | 1 hour with the Docker Official Image and a PostgreSQL container; half a day from source |
| How you install it | The Docker Official Image `redmine` next to a PostgreSQL or MySQL container. Set REDMINE_DB_POSTGRES, or the image falls back to SQLite, which it says is not for multi-user production. Or install from source: bundle install, generate_secret_token, db:migrate, load_default_data. |
| Ongoing maintenance | Point releases drop in cleanly. Each major moves Rails (5.0 brought the Zeitwerk loader, 6.0 Rails 7.2, 7.0 in 2026 Rails 8.1), and it becomes a project if you run plugins. Back up the database and files/ before each one. |
| Where it stops scaling | A small box carries a small-to-mid team. A 2015 forum report of about 300 active users and 20,000 issues on 4 GB complained of slowness. Beyond that, add app processes and move the database to its own host. |
The thing that catches people out
Redmine's value is its plugin ecosystem, and plugins are what break. Each major release moves to a newer Rails. On 5.0 the switch to the Zeitwerk autoloader made full plugin compatibility, in one contributor's word, 'impossible'. On 6.0 (Rails 7.2), popular plugins such as RedmineUP's People crashed at boot and waited more than two months for a fix. 7.0 now runs Rails 8.1. Keep the plugin list short, check each plugin's stated Redmine version before a major upgrade, and rehearse the upgrade on a copy of the database and files/.
When not to self-host Redmine
Your team expects a modern drag-and-drop interface, or you rely on several third-party plugins you cannot afford to lose at the next major upgrade. OpenProject covers the same ground with a newer UI, and Plane is the modern tracker.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Mattermost4 GB for a team of 50 with PostgreSQL on the same box
- Self-hosting Rocket.Chat6 GB with MongoDB on the same machine
Common questions
- How much RAM does Redmine actually need?
- 2 GB for Redmine plus PostgreSQL or MySQL on one box. Each app process sits at 256–512 MB and can spike past 1 GB on large issue trees or expensive queries in practice. The documented minimum is Not stated by the vendor. A single Redmine app process normally uses 256–512 MB (redmine.org issue #34497). Cloudron's package caps the app container at 600 MB and runs the database separately, which is the figure at which the process starts rather than the figure at which it works under real use. Not stated by the vendor; 1–2 vCPU is the usual small-VPS shape for a single Rails app alongside it.
- What does self-hosting Redmine cost per month?
- $6–12/mo for a 5–20 user instance on a 2 GB VPS This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for point releases drop in cleanly. Each major moves Rails (5.0 brought the Zeitwerk loader, 6.0 Rails 7.2, 7.0 in 2026 Rails 8.1), and it becomes a project if you run plugins. Back up the database and files/ before each one.
- How long does it take to set up Redmine?
- 1 hour with the Docker Official Image and a PostgreSQL container; half a day from source, via The Docker Official Image `redmine` next to a PostgreSQL or MySQL container. Set REDMINE_DB_POSTGRES, or the image falls back to SQLite, which it says is not for multi-user production. Or install from source: bundle install, generate_secret_token, db:migrate, load_default_data..
- When should I NOT self-host Redmine?
- Your team expects a modern drag-and-drop interface, or you rely on several third-party plugins you cannot afford to lose at the next major upgrade. OpenProject covers the same ground with a newer UI, and Plane is the modern tracker.
- What is the most common mistake when self-hosting Redmine?
- Redmine's value is its plugin ecosystem, and plugins are what break. Each major release moves to a newer Rails. On 5.0 the switch to the Zeitwerk autoloader made full plugin compatibility, in one contributor's word, 'impossible'. On 6.0 (Rails 7.2), popular plugins such as RedmineUP's People crashed at boot and waited more than two months for a fix. 7.0 now runs Rails 8.1. Keep the plugin list short, check each plugin's stated Redmine version before a major upgrade, and rehearse the upgrade on a copy of the database and files/.