Redmine Server Requirements

Use this checklist before running the installer to avoid failed deployments and to size your Redmine server correctly.

Operating System

The installer is compatible exclusively with the following Linux distributions:

DistributionVersionCodename
Debian13Trixie
Debian12Bookworm
Ubuntu24.04 LTSNoble Numbat
Ubuntu22.04 LTSJammy Jellyfish

Other distributions or older versions are not supported. The script detects the OS version automatically and will warn if it does not match.

Fresh System Required

The installer is designed for newly provisioned servers with no prior software stack installed.

Running it on a server that already has a database engine, Ruby, or a web server can produce failures or data loss. Below is a summary of the risks for each case.

Preexisting software What happens
MariaDB The system package manager updates it (apt on Debian/Ubuntu). Existing databases and users are preserved. If the Redmine user already exists, the password from the wizard will not be applied to it.
MySQL The package manager may remove MySQL and replace it with MariaDB. All MySQL databases will be lost. No backup is made and no warning is shown.
PostgreSQL apt updates it. However, if a user or database with the configured names already exists, the installer aborts at the database setup step.
Ruby (apt / RVM / other) The installer first tries to use OS packages for the required Ruby version. If the exact version is not available, it falls back to an isolated rbenv install in /usr/local/rbenv and provides wrapper binaries in /usr/local/bin for that path.
Apache / Nginx on port 80 or 443 The step that starts the new web server fails and aborts the installation. The existing web server must be stopped first.

If MySQL is running on the server, do not proceed without a full backup. The installer will silently replace it with MariaDB.

Execution Privileges

The script must be run as root. Without administrator privileges the installer stops immediately.

sudo bash redmine1click.sh

Minimum Hardware

ResourceMinimumNotes
CPU 1 vCPU 2 vCPUs recommended, especially if Ruby fallback compilation is needed
RAM 512 MB The script automatically creates a 2 GB swap file if less than 1 GB of swap is available
Disk 10 GB free Ruby + gems + Redmine + database + optional swap
Ruby installation is usually fast when the required version is available as OS packages. On low-RAM VPS instances, fallback compilation can still take 10-20 minutes, and the script will display a progress bar during that step.

Network Connectivity

The server requires outbound Internet access during installation to download:

SourceWhat is downloaded
Distribution mirrorsSystem packages via apt
redmine.orgRedmine source archive
github.comrbenv and ruby-build (fallback Ruby path)
rubygems.orgRuby gems (Bundler, Passenger, etc.)
letsencrypt.org / acme-v02.api.letsencrypt.orgSSL certificate issuance via Certbot (only with Let's Encrypt option)
api.ipify.org, checkip.amazonaws.comPublic IP auto-detection (only when the Domain field is left empty)

Required Ports

PortProtocolRequired for
80 TCP (inbound) Serving Redmine over HTTP; required by Let's Encrypt for domain validation
443 TCP (inbound) HTTPS (only if SSL is enabled)

Make sure your firewall and/or cloud security group allows inbound traffic on these ports before running the installer.

SSL-Specific Requirements

None (HTTP only) — No additional requirements.

Let's Encrypt (automatic)

  • The domain must be registered and pointing to the server's public IP before running the installer.
  • Port 80 must be reachable from the Internet — Let's Encrypt performs an HTTP challenge to verify domain ownership.
  • A valid email address is required for certificate registration.
If DNS has not propagated yet, the installer will continue and serve Redmine over HTTP. The command to obtain the certificate later will be shown at the end of the installation summary.

Manual certificate

  • The certificate file (.crt / .pem) and private key (.key) must already exist on the server at the paths you specify in the installer wizard.

Domain / IP Address

The installer expects a bare domain or bare IP address:

ValidNot supported
redmine.example.comredmine.example.com/redmine
203.0.113.10203.0.113.10/redmine
example.comhttp://example.com
Subdirectory paths and custom ports are not supported. Redmine is always installed at the root of the domain or IP, listening on ports 80 (HTTP) and 443 (HTTPS). If you need Redmine on a subdirectory or a non-standard port, a manual installation is required.

Pre-flight Checklist

  • Debian 12/13 or Ubuntu 22.04/24.04 installed on the target server
  • Server is freshly provisioned — no MySQL, MariaDB, PostgreSQL, or web server already installed
  • Script will be executed with sudo
  • Outbound Internet access is available on the server
  • Port 80 is open in the firewall / security group
  • Domain is pointing to the server's public IP — only required for Let's Encrypt SSL
  • Certificate and private key files are present on the server — only required for manual SSL
  • Domain or IP is a bare host — no protocol prefix, subdirectory path, or port number — e.g. example.com, not example.com:8080/redmine