Cockpit is a web-based server management dashboard — monitoring, storage, networking, logs, and user accounts, extensible with add-ons like Podman container management. This guide installs it on Ubuntu 24.04, secures it with a real TLS certificate, tours the dashboard, and manages a container through the Cockpit Podman extension.
Prerequisites: an Ubuntu 24.04 server, a domain A record (e.g.
cockpit.example.com), a dedicated non-root sudo user (e.g.cockpit_admin).
Install Cockpit
$ sudo apt update
$ sudo apt install cockpit -y
$ sudo systemctl enable cockpit.socket
$ sudo systemctl start cockpit
$ sudo systemctl status cockpit
Cockpit listens on TCP 9090.
Secure with Let's Encrypt
Cockpit serves plain HTTP on 9090 by default — fix that before exposing it.
$ sudo ufw status
$ sudo ufw allow 9090/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload
$ sudo apt install snapd -y
$ sudo snap install certbot --classic
$ sudo certbot --standalone certonly -d cockpit.example.com -m cockpit@example.com --agree-tos
$ sudo certbot renew --dry-run
Combine cert + key for Cockpit's format and install it:
$ sudo cat /etc/letsencrypt/live/cockpit.example.com/fullchain.pem /etc/letsencrypt/live/cockpit.example.com/privkey.pem > cockpit.cert
$ sudo mv cockpit.cert /etc/cockpit/ws-certs.d/
$ sudo systemctl restart cockpit.socket
Access the Dashboard
Visit https://cockpit.example.com:9090, log in with your sudo user (root login isn't supported through the web UI). Click Turn on administrative access and enter your password to unlock admin-level actions.
What You Can Do
- Overview — health, CPU, memory, system info; View metrics and history for detailed usage stats
- Storage — manage attached devices, monitor read/write speeds, view storage logs
- Services — view/manage systemd services, timers, sockets, paths, targets
- Networking — real-time interface usage and logs
- Logs — filter by duration, priority, or daemon identifier
- Accounts — view/create users and groups
- Terminal (under Tools) — a full shell session in the browser
Manage Containers with Cockpit Podman
$ sudo apt update
$ sudo apt install cockpit-podman -y
$ sudo ufw route allow proto tcp from any to any port 80
$ sudo ufw reload
Refresh the dashboard, click Podman containers:
-
Create container → name it (e.g.
app-example) → imagenginx(pickdocker.io/library/nginx). -
Integration → Add port mapping → host port
80, container port80, leave IP blank (binds all interfaces). - Create and run.
- Confirm it shows Running under Containers.
- Visit
http://SERVER-IP— the default Nginx page should load.
Next Steps
Cockpit is running with a trusted certificate and Podman container management enabled. From here:
- Explore other Cockpit extensions (e.g.
cockpit-machinesfor VM management if applicable) - Set up additional non-root admin accounts for team members
- Use the built-in Terminal for quick server tasks without a separate SSH session
For the full guide, visit the original article on Vultr Docs.













