Frequently Asked Questions (FAQ)

General

How do I contact the Cockpit team?

How do I create an application for Cockpit?

All development-focused documentation is located on the Contribute page of the website. This includes creating your own app page with the starter kit and other related topics.

Installation

How do I install a recent version of Cockpit on Debian or Ubuntu?

While Debian and Ubuntu both ship with access to Cockpit in their main repositories, the version in each might be older than the latest available. This is due to the nature of “stable” and “long term support” distributions.

There’s often a newer version of Cockpit available in the “backports” repositories, for both Debian and Ubuntu. We recommend using this newer version, if you’re able to do so.

Please read the installation instructions for the appropriate distribution:

How do I use Cockpit on another port?

Cockpit runs on port 9090 by default. If you’d like to change the port to something else, please consult the Cockpit guide’s section on TCP port and address.

How do I avoid opening a port on my production machines?

It’s possible to not run the Cockpit socket systemd service and log into your target machines with SSH.

If you use a Linux-based desktop, use the Cockpit Client desktop application, available on Flathub.

If you cannot use Cockpit Client, we provide Cockpit’s web server in the cockpit/ws container image. You can run that on any other host with SSH access to the target machine. This includes running the container on Kubernetes.

How do I use Cockpit with a reverse proxy?

Cockpit can be used from behind a proxy.

Read one of the following documents:

Development

How do I build an app for Cockpit?

Troubleshooting

Login

Blank white page after login

If you see a blank page after logging in, it’s a good first step to check the browser console (Ctrl+Shift+J in most browsers) and system logs (using sudo journalctl --since "5 minutes ago" on your system running Cockpit) for related error messages.

Blank page with a Proxy

You may be using Cockpit with an improperly set up proxy.

Solutions
Blank page using Safari

Older versions of Safari on iPhones, iPads, and Safari on macOS on M1 (ARM) machines have a problem with encrypted WebSocket.

Solution

Newer updates of Safari no longer have this issue, but some older devices may need to use a workaround.

Software update

Error message about “OSTree”

You’re seeing “OSTree is not available on this system” or “Unable to communicate with OSTree” instead of a software update page.

In all likelihood, this means you have cockpit-ostree installed on a system that does not use rpm-ostree to manage its packages. You should be using Cockpit’s PackageKit-based software updater in cockpit-packagekit, not cockpit-ostree.

Solution

Remove the ostree package:

dnf remove cockpit-ostree

cockpit-ostree is only intended for use on distributions that use rpm-ostree, such as Fedora Silverblue, Fedora Kinoite, Fedora IoT, Fedora CoreOS, and a small subset of Red Hat Enterprise Linux that uses rpm-ostree.

Error message about being offline

The software update page shows “packagekit cannot refresh cache whilst offline” on a Debian or Ubuntu system.

Solution

Create a placeholder file and network interface.

  1. Create /etc/NetworkManager/conf.d/10-globally-managed-devices.conf with the contents:

     [keyfile]
     unmanaged-devices=none
    
  2. If you run on Ubuntu with arm64 (e.g.: on a Raspberry Pi), install extra Linux kernel modules for networking:

     sudo apt install linux-modules-extra-raspi
    
  3. Set up a “dummy” network interface:

     nmcli con add type dummy con-name fake ifname fake0 ip4 1.2.3.4/24 gw4 1.2.3.1
    
  4. Reboot

Explanation

Ubuntu uses two different network stacks which don’t play so well together.

Cockpit’s software update page uses PackageKit, which checks NetworkManager. However, as the network interfaces are primarily managed by netplan and systemd-networkd in Ubuntu, NetworkManager reports back to PackageKit that the network is offline as a critical error message and stops further actions.

Unfortunately, this means in many Ubuntu configurations, Cockpit’s software update page might fail with a message about not being able to “refresh cache whilst offline”. Other software that relies on PackageKit, such as KDE’s Discover, can also hit this bug.

Additionally, there’s nothing Cockpit itself can do to fix this problem. It’s an “emergent bug” that happens much lower in the software stack. It’s up to Ubuntu to patch the way they’re using netplan and networkd… or, alternatively, PackageKit could provide a workaround. Unfortunately, none of these fixes have been implemented yet.

Meanwhile, to be able to update your server using Cockpit when you get this error, you have to do a workaround similar to the one suggested above.

Excludes in dnf.conf are ignored

When there are specific package excludes, the Software update page may still show packages are available to update.

Solution

Add excludes to the .repo files with a space-separated list. Wildcards * and ? are supported.

exclude=emacs-* jed xeyes
Explanation

Cockpit uses PackageKit for the Software updates page. PackageKit does not currently support excludes, except in .repo files.

More details at:

Virtual machines

Virtual machines don’t boot

If a VM hangs during boot or you see an error message such as “No bootable device”, it may be due to a configuration option in your computer’s BIOS / EFI settings.

On many servers, desktops, and laptops, the setting is turned off by default.

Solution
  1. Turn off the computer that is running Cockpit. Then, turn it back on and immediately press the appropriate key to enter the BIOS / EFI settings (e.g. Delete, F1, F12, etc.).
  2. In the BIOS / EFI settings, look for the option to enable virtualization and ensure it is enabled.
  3. Save the changes and exit the BIOS / EFI settings.
  4. Wait for the computer to finish booting and try starting a VM in Cockpit again.

Note: You may need to consult your computer’s manual or the manufacturer’s website to determine the correct key to press to enter the BIOS/EFI settings. The exact steps for enabling virtualization vary depending on your computer’s make and model.