On Debian 13:
sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable --now docker
On RHEL 10:
sudo dnf install -y docker docker-compose
sudo systemctl enable --now docker
cd /opt
sudo git clone https://github.com/it-novum/openITCOCKPIT.git
cd openITCOCKPIT
Copy environment file:
cp .env.example .env
nano .env
Key settings to configure:
# Database
MYSQL_ROOT_PASSWORD=StrongRootPassword123!
MYSQL_DATABASE=openitcockpit
MYSQL_USER=openitcockpit
MYSQL_PASSWORD=StrongPassword123!
# Application
APP_DEBUG=false
APP_SECRET=generate-random-secret-key
# Mail
MAILER_HOST=smtp.example.com
MAILER_PORT=587
MAILER_USER=noreply@example.com
MAILER_PASSWORD=smtp-password
Generate app secret:
php -r "echo bin2hex(random_bytes(32));"
docker compose up -d
This will start:
Wait for services to start, then initialize:
docker compose exec app bin/cake openitcockpit.install
Create admin user:
docker compose exec app bin/cake openitcockpit.user create \
--username admin \
--password SecureAdminPassword123! \
--email admin@example.com \
--firstname Admin \
--lastname User
If running without Docker, create Nginx config:
sudo tee /etc/nginx/sites-available/openitcockpit >/dev/null <<'EOF'
server {
listen 80;
server_name openitcockpit.example.com;
root /var/www/openitcockpit/webroot;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
location ~ /\.ht {
deny all;
}
}
EOF
On UFW:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8125/tcp
On firewalld:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=8125/tcp
sudo firewall-cmd --reload
Open http://SERVER_IP or http://openitcockpit.example.com and log in with username admin and the password you set.
curl -s https://packages.openitcockpit.io/key | sudo gpg --dearmor -o /usr/share/keyrings/openitcockpit.gpg
echo "deb [signed-by=/usr/share/keyrings/openitcockpit.gpg] https://packages.openitcockpit.io/deb stable main" | sudo tee /etc/apt/sources.list.d/openitcockpit.list
sudo apt update
sudo apt install -y openitcockpit-agent
Configure agent:
sudo nano /etc/openitcockpit/agent/config.json
{
"server": "OPENITCOCKPIT_SERVER_IP",
"port": 8125,
"hostname": "agent-hostname"
}
sudo systemctl enable --now openitcockpit-agent
sudo rpm --import https://packages.openitcockpit.io/key/GPG-KEY-openitcockpit
sudo tee /etc/yum.repos.d/openitcockpit.repo >/dev/null <<'EOF'
[openitcockpit]
name=openITCOCKPIT Repository
baseurl=https://packages.openitcockpit.io/rpm
enabled=1
gpgcheck=1
gpgkey=https://packages.openitcockpit.io/key/GPG-KEY-openitcockpit
EOF
sudo dnf install -y openitcockpit-agent
Stuck on a step or need custom configuration? We provide paid consulting for OpenITCOCKPIT deployments, from single-instance setups to distributed clusters.
📧 office@linux-server-admin.com
🌐 Contact Page
Prefer automation? See OpenITCOCKPIT Ansible Setup for an example playbook.
Prefer containers? See OpenITCOCKPIT Docker Setup.
See OpenITCOCKPIT Configuration for configuration guidance.
See OpenITCOCKPIT Security for hardening guidance.