Skip to content

Latest commit

 

History

History
251 lines (189 loc) · 9.47 KB

index.md

File metadata and controls

251 lines (189 loc) · 9.47 KB
title layout class
Cockpit Project
essential
front-page

{% capture newline %} {% endcapture %}

{% capture screenshots %} login-opt.webp: Cockpit's log in prompt (on Fedora 34) debian-in-windows-edge.webp: Cockpit works where you are (Pictured: Connecting to Debian server from Microsoft Edge on Windows 10) journal.webp: View, filter, and search system logs accounts.webp: Edit accounts firewall-rhel.webp: Edit the firewall with ease (Pictured: Cockpit Web Console on Red Hat Enterprise Linux, connected from Fedora 34 Workstation) network-overview.webp: Manage your network overview-f33.webp: Have a high-level overview of a server software-updates-cve-auto.webp: Examine and apply software updates (with changelogs and links to CVEs) storage-overview.webp: Look at and manage your storage system-services-ssh.webp: See system services system-service-details.webp: Manage an individual system service vm-create.webp: Create and manage virtual machines {% endcapture %} {% assign screenshots = screenshots | split: newline %}

{% capture screenshots_html %}

{% for screenshot in screenshots %}{% assign filename = screenshot | split: ":" | first | strip | prepend: "/images/screenshot/" | prepend: site.baseurl %}{% assign text = screenshot | replace_first: ":", "©" | split: "©" | last | strip %}{% unless text == "" %}{{ text }}{% endunless %}{% endfor %}
{% endcapture %}

{% comment %}

Content

First we set up & capture the content, then we render it in the scaffolding below. {% endcomment %}

{% capture intro-lede %} The easy-to-use, integrated, glanceable, and open web-based interface for your servers {% endcapture %}

{% capture intro-text %}

Introducing Cockpit

Cockpit is a web-based graphical interface for servers, intended for everyone, especially those who are:

{:.audience-list}

  • new to Linux (including Windows admins)
  • familiar with Linux and want an easy, graphical way to administer servers
  • expert admins who mainly use other tools but want an overview on individual systems

Thanks to Cockpit intentionally using system APIs and commands, a whole team of admins can manage a system in the way they prefer, including the command line and utilities right alongside Cockpit.

Take a look

A picture is worth a thousand words. Click a thumbnail to see screenshots of Cockpit in action.

{{ screenshots_html }}

Simple to use

Cockpit makes Linux discoverable. You don't have to remember commands at a command-line.

See your server in a web browser and perform system tasks with a mouse. It's easy to start containers, administer storage, configure networks, and inspect logs. Basically, you can think of Cockpit like a graphical "desktop interface", but for individual servers.

Compatible with your existing workflows

Have a favorite app or command line tool that you use on your servers? Keep using the command line, Ansible, and your other favorite tools and add Cockpit to the mix with no issues.

Cockpit uses the same system tooling you would use from the command line. You can switch back and forth between Cockpit and whatever else you like. Cockpit even has a built-in terminal, which is useful when you connect from a non-Linux device.

Integrated

Cockpit uses APIs that already exist on the system. It doesn't reinvent subsystems or add a layer of its own tooling.

By default, Cockpit uses [your system's normal user logins and privileges]({{ site.baseurl }}/guide/latest/privileges). Network-wide logins are also supported through [single-sign-on]({{ site.baseurl }}/guide/latest/sso) and other [authentication]({{ site.baseurl }}/guide/latest/authentication) techniques.

Cockpit itself doesn't eat resources or even run in the background when you're not using it. It runs on demand, thanks to systemd socket activation.

Extendable

Cockpit also supports a large list of optional and third-party applications.

Using Cockpit

Here's a subset of tasks you can perform on each host running Cockpit:

{:.using-cockpit}

  • Inspect and change network settings
  • Configure a firewall
  • Manage storage (including RAID and LUKS partitions)
  • Create and manage virtual machines
  • Download and run containers
  • Browse and search system logs
  • Inspect a system's hardware
  • Upgrade software
  • Keep tabs on performance
  • Manage user accounts
  • Inspect and interact with systemd-based services
  • Use a terminal on a remote server in your local web browser
  • Switch between [multiple Cockpit servers]({{ site.baseurl }}/guide/latest/feature-machines.html)
  • Extend Cockpit's functionality by installing a growing list of apps and add-ons
  • [Write your own custom modules]({{ site.baseurl }}/blog/cockpit-starter-kit.html) to make Cockpit do anything you want

*[RAID]: Redundant Array of Inexpensive Disks *[LUKS]: Linux Unified Key Setup (encryption)

Also troubleshoot and fix pesky problems with ease:

{:.using-cockpit}

  • Diagnose network issues
  • Spot and react to misbehaving virtual machines
  • Examine SELinux logs and fix common violations in a click
  • Inspect detailed metrics that correlate CPU load, memory usage, network activity, and storage performance with the system's journal

More features appear in Cockpit every release.

Designed & tested

Cockpit's design keeps your goals in mind. We test Cockpit with usability studies to make it work the way you'd expect and adjust accordingly. As a result, Cockpit gets easier to use all the time.

All code changes have tests which must pass before merging, to ensure stability.

Free & free

Cockpit is free to use and available under the GNU LGPL.

Cockpit works (nearly) everywhere

You can install Cockpit on the major distributions, including:

{:.distro-logos} {% for distro in site.data.distros %}- [![{{ distro.name }}](/images/site/os-{{ distro.first}}.svg)]({{ site.baseurl }}/running.html#{{ distro.first }}) {% endfor %}

Once Cockpit is up and running, you can access systems from all major web browsers on any operating system (including Windows, MacOS, and Android).

Release schedule

Cockpit has a time-based release cadence, with new versions appearing every two weeks.

Get started

{:style="text-decoration-skip-ink:none"} After [installing and enabling Cockpit]({{ site.baseurl }}/running.html), visit port 9090 on your server (for example: https://localhost:9090/ in a browser on the same machine as Cockpit). {% endcapture %}

{% capture footer_links %} About Cockpit : Frequently Asked Questions (FAQ) : Project ideals and goals : Blog & Blog feeds : Release notes : Search this site {:.col.footer-links-1}

Running Cockpit : Installation : Documentation : Deployment guide : Feature internals : File a bug in the issue tracker {:.col.footer-links-2}

Contributing : Contribution overview : Get the source : Join the mailing list : Matrix #cockpit:fedoraproject.org : Developer tutorials : Developer API reference {:.col.footer-links-3}

*[Feeds]: Atom (similar to RSS), for use in feed readers {% endcapture %}

{% capture badge %} {% assign release = site.posts | where: "category", "release" | first %} {% assign version = release.title | split: "and" | first | split: " " | last %} Released {{ release.date | date: "%-d %b %Y" }}: Version {{ version }} {% endcapture %}

{% capture screenshots %} [![Storage screenshot]({{ site.baseurl }}/images/site/screenshot-storage.webp)]({{ site.baseurl}}/images/site/screenshot-storage.webp) {:.screenshot.zoom}

[![Network screenshot]({{ site.baseurl }}/images/site/screenshot-network.webp)]({{ site.baseurl }}/images/site/screenshot-network.webp) {:.screenshot.zoom}

[![Dashboard screenshot]({{ site.baseurl }}/images/site/screenshot-dashboard.webp)]({{ site.baseurl }}/images/site/screenshot-dashboard.webp) {:.screenshot.zoom} {% endcapture %}

{% comment %}

Scaffolding

{% endcomment %}

{% capture output %}

{% include page_header.html %}
{{ intro-lede | markdownify }}
{{ badge }}
{{ intro-text | markdownify }}
{{ footer_links | markdownify }} {% include page_footer.html %}

Mastodon

<script src="{{ site.baseurl }}/assets/lib/screenshot-gallery.js"></script>

{% endcapture %}{{ output }}