Project

General

Profile

Actions

Feature #44558

open

Add Docker support (Dockerfile + docker-compose) for easier self-hosting

Added by nischal koirala about 9 hours ago. Updated about 9 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Filters
Target version:
-
Resolution:

Description

  1. Context
    Redmine currently lacks official Docker support in the main repository. This makes self-hosting harder for new users, who must manually install and configure Ruby, Rails, a database server, and all dependencies before they can even start the app.
  1. What this adds
    - `Dockerfile` — Multi-stage build for the Redmine application
    - `docker-compose.yml` — Orchestrates the Redmine app + database service
    - `.dockerignore` — Keeps the build context lean and excludes secrets/dependencies
    - `README.md` — New "Run with Docker" section
    - `.env.example` — Template for required environment variables
  1. Why this is useful
    Anyone can now run Redmine with two commands:
    ```bash
    cp .env.example .env
    docker compose up -d

No manual Ruby/gem/database setup required. This lowers the barrier to entry for self-hosters and makes local development much faster.

Verification
I have tested this locally with sample (dummy) data:

☑ docker build completes successfully
☑ docker compose up -d starts both the app and DB containers
☑ Redmine is accessible at http://localhost:3000
☑ Tested with sample projects, issues, and tickets (see attached screenshot)
☑ Data persists across container restarts via named volumes
☑ Secrets are loaded at runtime via env_file: .env, not baked into the image
☑ Container runs as a non-root user
☑ Uses the official Postgres image for the database

My work / fork
GitHub: https://github.com/nixhal33/redmine

Branch with the Docker changes: https://github.com/nixhal33/redmine/tree/docker-support

Notes:

No category fits Docker/containerization support — please recategorize as appropriate.

This PR only addresses containerization. UI/theming is out of scope and untouched.

Happy to adjust the base image, compose layout, or any other detail based on feedback.


Files

Actions #1

Updated by nischal koirala about 9 hours ago

nischal koirala wrote:

Redmine currently lacks official Docker support in the main repository. This makes self-hosting harder for new users, who must manually install and configure Ruby, Rails, a database server, and all dependencies before they can even start the app.

What this adds
- `Dockerfile` — Multi-stage build for the Redmine application
- `docker-compose.yml` — Orchestrates the Redmine app + database service
- `.dockerignore` — Keeps the build context lean and excludes secrets/dependencies
- `README.md` — New "Run with Docker" section
- `.env.example` — Template for required environment variables

  1. Why this is useful
    Anyone can now run Redmine with two commands:
    ```bash
    cp .env.example .env
    docker compose up -d

No manual Ruby/gem/database setup required. This lowers the barrier to entry for self-hosters and makes local development much faster.

Verification
I have tested this locally with sample (dummy) data:

☑ docker build completes successfully
☑ docker compose up -d starts both the app and DB containers
☑ Redmine is accessible at http://localhost:3000
☑ Tested with sample projects, issues, and tickets (see attached screenshot)
☑ Data persists across container restarts via named volumes
☑ Secrets are loaded at runtime via env_file: .env, not baked into the image
☑ Container runs as a non-root user
☑ Uses the official Postgres image for the database

My work / fork
GitHub: https://github.com/nixhal33/redmine

Branch with the Docker changes: https://github.com/nixhal33/redmine/tree/docker-support

Notes:

No category fits Docker/containerization support — please recategorize as appropriate.

This PR only addresses containerization. UI/theming is out of scope and untouched.

Happy to adjust the base image, compose layout, or any other detail based on feedback.

Actions #2

Updated by nischal koirala about 9 hours ago

Context:
Redmine currently lacks official Docker support in the main repository. This makes self-hosting harder for new users, who must manually install and configure Ruby, Rails, a database server, and all dependencies before they can even start the app.

What this adds:

Dockerfile — Multi-stage build for the Redmine application

docker-compose.yml — Orchestrates the Redmine app + database service

.dockerignore — Keeps the build context lean and excludes secrets/dependencies

README.md — New "Run with Docker" section

.env.example — Template for required environment variables

Why this is useful:
Anyone can now run Redmine with two commands:
cp .env.example .env
docker compose up -d

No manual Ruby/gem/database setup required. This lowers the barrier to entry for self-hosters and makes local development much faster.

Verification:
I have tested this locally with sample (dummy) data:
[x] docker build completes successfully
[x] docker compose up -d starts both the app and DB containers
[x] Redmine is accessible at http://localhost:3000
[x] Tested with sample projects, issues, and tickets (see attached screenshot)
[x] Data persists across container restarts via named volumes
[x] Secrets are loaded at runtime via env_file: .env, not baked into the image
[x] Container runs as a non-root user
[x] Uses the official Postgres image for the database

My work / fork:
GitHub: https://github.com/nixhal33/redmine
Branch with the Docker changes: https://github.com/nixhal33/redmine/tree/docker-support

Notes:
No category fits Docker/containerization support — please recategorize as appropriate.
This PR only addresses containerization. UI/theming is out of scope and untouched.
Happy to adjust the base image, compose layout, or any other detail based on feed

Actions

Also available in: Atom PDF