Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
February 19, 2021 17:06
November 29, 2023 06:17
November 21, 2023 16:03
November 21, 2023 16:03
July 31, 2023 17:32


This is the Cockpit user interface for podman containers.


Development dependencies

On Debian/Ubuntu:

$ sudo apt install gettext nodejs make

On Fedora:

$ sudo dnf install gettext nodejs make

Getting and building the source

These commands check out the source and build it into the dist/ directory:

git clone
cd cockpit-podman


sudo make install installs the package in /usr/local/share/cockpit/. This depends on the dist target, which generates the distribution tarball.

You can also run make rpm to build RPMs for local installation.

In production mode, source files are automatically minified and compressed. Set NODE_ENV=production if you want to duplicate this behavior.

Development instructions

See for details about how to efficiently change the code, run, and test it.

Automated release

The intention is that the only manual step for releasing a project is to create a signed tag for the version number, which includes a summary of the noteworthy changes:


- this new feature
- fix bug #123

Pushing the release tag triggers the release.yml GitHub action workflow. This creates the official release tarball and publishes as upstream release to GitHub.

The Fedora and COPR releases are done with Packit, see the packit.yaml control file.

Automated maintenance

It is important to keep your NPM modules up to date, to keep up with security updates and bug fixes. This is done with the npm-update bot script which is run weekly or upon manual request through the npm-update.yml GitHub action.

Similarly, translations are refreshed every Tuesday evening (or manually) through the weblate-sync-po.yml action. Conversely, the PO template is uploaded to weblate every day through the weblate-sync-pot.yml action.