Installation requirements planning

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
  • what are you trying to achieve
  • what have you tried so far to achieve this

I’m new to SonarQube and just reviewing the install requirements.
I plan to install on a CentOS 8.1 VMware VM.
I trying to plan out disk space. Upon my initial review of the documentation, it looks like
its recommend to have a separate Postqresql VM server as well as space for elasticsearch.

Where does most of the data grow, on the Postresql database or in elasticsearch?

My plan is to attach virtual disks to the VM to house the data, just now sure where most of the growth
will occur.

Thanks

Greetings David,

To be fully transparent, it’s extremely difficult for us to provide meaningful sizing recommendations because SonarQube instances will vary wildly based on the following factors:

  • Number of projects
  • Codebase size
  • History of analyses
  • Number of issues
  • Branches / Pull Requests (Developer Edition and up)

If the question is “Do I ask for 1TB of space or 100GB”, you can pretty safely go for 100 GB.

Especially if you are just starting out on your SonarQube journey, 100GB for the Database and 25GB for Elasticsearch (which is… a lot, honestly) is going to have you set for a long time. Of course – you should continue to monitor and adjust as necessary.

The Database will grow larger than Elasticsearch (which only indexes what it needs)

Thanks for the reply, I’ve been ask to setup Sonarqube by my company without understanding what the product

really does therefore I’m trying to understand how to manage the data.

Do I have to create a separate VM for the postgres database or could I mount a virtual data drive to the OS VM and

create a link to the data? I’m also new to postgresdb.

I suppose I could also create a virtual drive for elasticsearch since its path is set in the sonar.properties.

I’m just trying to think about managing future growth.

How is data managed in the database and elasticsearch?

Do users need to store data for a long time or do they

run jobs, get their answer, then the data can be deleted?

Our development folks keep projects in gitlab.

SonarQube requires a database, and it’s recommended that the database resides on a separate VM.

It’s generally considered a best practice for SonarQube to keep the Elasticsearch data on a separate drive with high read/write performance (f your virtual drive isn’t gaining you that. That said, it’s not a hard requirement and for a new instance. If the virtual drives aren’t giving you a performance boost, the only thing you gain is sometimes faster upgrades of SonarQube in the future.

I don’t really know how to answer this question. What do you mean exactly?

SonarQube is a platform that helps you manage the quality of a codebase over time – it’s not meant to be a “get my answer and delete” kind of service.

I’d reccomend brushing up on the Requirements Documentation, Architechture and Integration Documentation, and start up your own demo instance to start getting familiar with the product. Going in blind is going to be a disadvantage. You can also browse SonarSource’s public instancce to get a feel for what SonarQube does, and learn more about SonarQube does on SonarQube.org.

Do you have any more documentation on how to setup and connect to a postgresql database.

I’m stuck on getting sonaqube to connect to the database. I created an postgres user called sonarqube and a database

called sonar.

Postgres version 10.6.1

postgres=# \du

List of roles

Role name | Attributes | Member of

Never mind on my previous post. I was able to get sonaqube to connect to the database.

I mis read the sonar.properties

sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema

and thought I had to edit this. I instead commented it out and took the default and I was

able to start sonarqube.