McGarrah Technical Blog

Adding Ceph Dashboard to Your Proxmox Cluster

4 min read

The Ceph Dashboard is incredibly useful for monitoring your cluster’s health, but setting it up on Proxmox isn’t as straightforward as the documentation suggests. After wrestling with SSL certificates and password policies, here’s how to get it working properly.

Why You Want the Ceph Dashboard

The dashboard gives you a web interface to monitor your Ceph cluster without SSH’ing into nodes and running CLI commands. You can see OSD status, pool usage, performance metrics, and cluster health at a glance. It’s essential for any serious homelab running Ceph. Or if you are doing something unusual like use USB Drives for your storage media and want additional metrics for performance evaluation. I also have fast SSDs for my DB/WAL with the USB Drives for Data.

Step 1: Install Dashboard Package

First, install the dashboard package on all manager nodes. In my 3-node cluster, that means all three nodes since they all run ceph-mgr:

# Run on each manager node
apt install ceph-mgr-dashboard -y

For my cluster:

root@harlan:~# apt install ceph-mgr-dashboard -y
root@kovacs:~# apt install ceph-mgr-dashboard -y  
root@poe:~# apt install ceph-mgr-dashboard -y

Step 2: Enable the Dashboard Module

On any manager node (I used harlan as my primary):

# Enable the dashboard module
ceph mgr module enable dashboard

# Verify it's enabled
ceph mgr module ls | grep dashboard

Step 3: The SSL Certificate Challenge

Here’s where things get interesting. The standard ceph dashboard create-self-signed-cert command fails on newer Proxmox versions:

root@harlan:~# ceph dashboard create-self-signed-cert
Error ENOTSUP: Creating self-signed certificates is currently not available.

Option A: Disable SSL (Quick and Dirty)

For homelab use behind a firewall, you can disable SSL entirely:

# Disable SSL
ceph config set mgr mgr/dashboard/ssl false

# Restart the dashboard
ceph mgr module disable dashboard
ceph mgr module enable dashboard

# Check the service URL
ceph mgr services

This gives you HTTP access on port 8080.

For proper SSL, create certificates manually:

# Generate self-signed certificate
openssl req -newkey rsa:2048 -nodes -x509 \
  -keyout /root/dashboard-key.pem -out /root/dashboard-crt.pem -sha512 \
  -days 3650 -subj "/CN=IT/O=ceph-mgr-dashboard" -utf8

# Install the certificates
ceph config-key set mgr/dashboard/key -i /root/dashboard-key.pem
ceph config-key set mgr/dashboard/crt -i /root/dashboard-crt.pem

# Enable SSL
ceph config set mgr mgr/dashboard/ssl true

# Restart dashboard
ceph mgr module disable dashboard
ceph mgr module enable dashboard

Step 4: Create Dashboard User

Now for the fun part - creating a user. The default password policy is ridiculously strict for homelab use:

# This will fail with "Password is too weak"
echo "admin" > ./password
ceph dashboard ac-user-create admin -i ./password administrator --force

Disable Password Policies

For homelab use, disable the password complexity requirements:

# Disable password complexity checks
ceph dashboard set-pwd-policy-check-complexity-enabled false

# If that's not enough, disable password policy entirely
ceph dashboard set-pwd-policy-enabled false

# Now create the user
ceph dashboard ac-user-create admin -i ./password administrator --force

Step 5: Access Your Dashboard

Find your dashboard URL:

ceph mgr services

This will show something like:

The dashboard runs on whichever node is currently the active Ceph manager. If the manager fails over to another node, the URL will change to that node’s IP.

My Working Configuration

After all the setup, here’s what I ended up with:

Dashboard Features You’ll Love

Once logged in, you get access to:

Troubleshooting Tips

  1. Dashboard not accessible? Check ceph mgr services to see which node is active
  2. SSL certificate warnings? Expected with self-signed certs - just accept the risk
  3. Password too weak errors? Disable password policies as shown above
  4. Module not starting? Check systemctl status ceph-mgr@[hostname].service

Important Notes

Security Considerations

For production use, you’d want:

But for homelab monitoring, the simplified setup works perfectly and gives you the visibility you need into your Ceph cluster’s health and performance.

References

The Ceph Dashboard has become an essential part of my homelab monitoring stack. Being able to quickly check cluster health and OSD performance from a web interface beats SSH’ing into nodes every time.

Categories: technical, homelab