Extract the archive
Download the Redmine release archive and extract it to your desired install path:
Create the database
Create an empty UTF-8 encoded database for Redmine. The examples below use
redmine as the database name.- MySQL
- PostgreSQL
- SQLite3
Configure database.yml
Copy the example configuration and edit it for your environment:Edit
config/database.yml and fill in your database credentials under the production block. See Database setup for full configuration examples.Install required gems
Install the gems needed for your environment:Bundler automatically installs only the database adapter gem matching the
adapter value in config/database.yml. Re-run this command whenever you change the adapter.To add gems not required by Redmine core (e.g. fcgi), create a Gemfile.local file in the application root. It is loaded automatically by bundle install.Compile assets (optional)
By default, Redmine recompiles assets automatically when the application starts in production mode. To precompile them manually:When deploying to a sub-URI path, pass the relative URL root:If you encounter missing assets in the browser, clear the compiled output and recompile:
Set file permissions
The user running Redmine must have write access to
files, log, tmp, and public/assets. Assuming the system user is redmine:Windows users can skip this step.
Start the server
Start the Puma web server to verify the installation:Open
http://localhost:3000/ in your browser. You should see the Redmine welcome page.Additional environment configuration
Copyconfig/additional_environment.rb.example to config/additional_environment.rb to override Rails environment settings such as log level, SSL enforcement, or custom Active Job adapters. Restart the application after editing this file.
SMTP configuration
Copyconfig/configuration.yml.example to config/configuration.yml and configure your SMTP settings. See Email configuration for details. Restart the application after any change to this file.