#
Sonarqube setup on Fedora 38
Tags:
Linux
HomeLab
Proxmox
Fedora
Selfhosting
Reading time: 1
minute
Description: Quick and dirty sonarqube setup with PostgreSQL
##
Dependency installation
1
|
dnf install postgresql-server postgresql-contrib postgresql wget unzip java-17-openjdk
|
##
PostgreSQL setup
1
2
3
4
5
6
|
sudo postgresql-setup --initdb --unit postgresql
systemctl enable --now postgresql
sudo -u postgres psql
CREATE USER sonarqube WITH PASSWORD 'super_secure_password';
CREATE DATABASE sonarqube_db WITH ENCODING 'UTF8';
ALTER DATABASE sonarqube_db OWNER TO sonarqube;
|
- psql login from ident to md5
/var/lib/pgsql/data/pg_hba.conf
host all all 127.0.0.1/32 ident
-> host all all 127.0.0.1/32 md5
##
Sonarqube installation
(Check for a new version before using this link)
1
2
3
|
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-10.1.0.73491.zip
unzip sonarqube-10.1.0.73491.zip
mv sonarqube-10.1.0.73491/* /opt/sonarqube
|
##
User setup
1
2
3
4
5
6
|
useradd --system sonarqube
chown -R sonarqube:sonarqube /opt/sonarqube/
mkdir -p /var/sonarqube/data
mkdir -p /var/sonarqube/temp
chown -R sonarqube:sonarqube /var/sonarqube/
|
##
Sonarqube configuration
/opt/sonarqube/conf/sonar.properties
1
2
3
4
5
6
7
|
sonar.jdbc.username=sonarqube
sonar.jdbc.password=super_secure_password
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube_db
sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp
sonar.web.host=0.0.0.0
sonar.web.port=9000
|
##
Systemd service setup
/etc/systemd/system/sonarqube.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=simple
User=sonarqube
Group=sonarqube
PermissionsStartOnly=true
ExecStart=/bin/nohup /usr/bin/java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-10.1.0.73491.jar
StandardOutput=syslog
LimitNOFILE=131072
LimitNPROC=8192
TimeoutStartSec=5
Restart=always
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
|
##
Done
1
2
|
systemctl daemon-reload
systemctl enable --now sonarqube
|