In today’s article, we want to help you answer a question: How do you know whether you should host Redmine in the cloud or deploy it on your server, and in case you decide to install the system on the premises, how do you determine the required hardware configuration? .
Before we discuss choosing the right infrastructure for your Redmine, we will start with one simple question: Are you ready to administer the server? Do you have a team or person that can handle it?
If your answer is yes, you should go with a self-hosted Redmine.
If no, whether because you do not have or are not willing to spend resources to do this, you should go with the hosted version of Redmine. In this option, you don’t need to worry about installation, updates, configuration, and administration. A service provider will handle all processes for you. Only a few companies in the market provide such a service and we are one of them. With RedmineUP Cloud, hosted Redmine with all our plugins for a convenient monthly fee,. If you are interested, learn more about the Cloud here, or drop us a message.
So, you choose to go with Redmine installed on your server—either at your physical location, in your organization, or by renting server space. If this is your first experience with Redmine or you are trying to take it to a new level, you will have a few questions in mind. Let’s tackle them one by one.
1) Which elements have the most significant influence on the required server configuration?
- Most important: the plugins that you are going to use. From here we will go further:
- Number and weight of files that you are storing - it influences HDD space
- Size of database - influences RAM
- Number of users doesn’t affect the specification
Why plugins? Because the nature of each extension is different. For example, the Agile plugin is lightweight. So is the Helpdesk plugin, but there’s one factor you need to keep in mind. Like any plugin that handles emails or stores files, it downloads email messages with the attachments and stores them on HDD the same way as attachments. If you receive many tickets or they often contain attachments or images, assume that you would need significantly more storage.
2) What is the minimal hardware configuration to host Redmine smoothly?
If you want to install the system on a physical server, the configuration below will allow you to install and run Redmine with a Helpdesk plugin as well.
- Processor: Intel Celeron (min 300 MHz)
- RAM: 1–2 GB RAM
- HDD: 30–40 GB
If you are renting a server for Redmine, before you select the service provider, you should research the given serve specs quite thoroughly. First of all, you need to check which operating system will be installed, how often it will be updated, and so on. Next, you need to check whether you will receive root access to your instance or have to cooperate and coordinate every change with hosting provider admins. If the latter, the time needed to implement any changes can be prolonged and cause additional stress. For preconfigured Redmine, please check if you also receive preconfigured databases and web servers. Such infrastructure can be crucial for proper functioning of some plugins, as some of the extensions only work with the Apache web server. Other plugins need specific Ruby Gems that require adding particular packets to the system. If you would like to customize your Redmine, you should also consider that some native Redmine extensions and dev packets might also require additional files.
Which database to choose for Redmine?
It is a matter of personal preference. Some IT people prefer MySQL, while others like PostgreSQL. I won’t tell you which one is better or more efficient. If you want to discover the noticeable differences, I refer you to a full article about the differences between MySQL and PostgreSQL and a Reddit discussion.
Which operating system to choose?
The easiest to use would be the Windows server, but for administration purposes, every time you need to upgrade something on Windows, you need to upgrade the whole Bitnami Redmine package. On Linux or OS X, you can upgrade only the element that needs to be updated, e.g., Ruby, Passenger, Web server, or Database. Each one of them is separate from the other components. On Windows, they need to be upgraded all together. It is also more expensive and slower than Linux/Unix-based servers.
Then we have Linux servers, with Ubuntu as OS on the top. It’s the most user-friendly and intuitive Linux installation. The most advanced instances require Centos or FreeBSD. With them, you will have the most flexibility for efficient optimization and management, but they will also require an experienced admin to handle the system and processes.
Technically speaking, why is Linux better? It uses less storage space, RAM, and processor power. Windows “eats” on average 1.5–2 times more operation memory and computing power.
3) Most common hardware problems with self-hosted Redmine. Where to look for possible causes and what can be the solution?
The most common problem is Redmine working too slowly.
You first want to check possible networking issues.
If you rule out connection problems, review a list of processes. They will show you if the server is overloaded and how much RAM is in use and by which processes. Most of the time, it’s because your database has grown too large and requires additional computing resources.
Storage is last on the list, as cases of running out of space are pretty apparent: you cannot save files or attachments. On top of that, Redmine will inform you about database warnings and errors.
The second part of an investigation is digging deeper into the system. The goldmine from which you start is Logs. In order of importance: begin with system logs, and then check web server logs, plugin logs, and database logs.
Each database gives quite accurate information for possible errors and the reason.
If you are not sure, before ringing for help, try to Google the problem. Someone has most likely already faced and solved a similar or even the same situation and shared his solution.
If you cannot find a solution, you can always contact support whether it’s for your hosting or services provided or plugins developer.
Essential for your business is safety for your data and system.
If you are using pre-installed Redmine or hosting it on an external server, you have to be twice as alert, as you don't have complete control over the network and server security. Check if your service provider offers system updates and how often are they performed.
If your system is installed on-premises you are in better position, as can protect it in multiple ways. You control and protect your network and its security. You can shield your server with software and hardware firewalls, as well as other tools like additional in-house encryption or session border controllers.
In each case, you have to make sure that you are using both up-to-date version of Redmine instance and all plugin, as, it limits the risks of using potential hole in the software to break into your system and potentially harm your business.
Tell us which option you prefer. What do you think about the hosted Redmine app?