← Back
Christian Lempa June 19, 2026 24m

Cockpit: The Easiest Way to Manage Linux Servers

Read full transcript 20 segments
  1. This is Cockpit. It's a super simple, This is Cockpit. It's a super simple, but powerful Linux server dashboard that but powerful Linux server dashboard that but powerful Linux server dashboard that allows you to manage your entire system allows you to manage your entire system allows you to manage your entire system through a nice and clean web interface. through a nice and clean web interface. through a nice and clean web interface. You can drill into things like system You can drill into things like system You can drill into things like system settings, updates, logs, services, settings, updates, logs, services, settings, updates, logs, services, storage, networking, and if you still storage, networking, and if you still storage, networking, and if you still need direct access to the command line, need direct access to the command line, need direct access to the command line, then just use Cockpit's browser-based then just use Cockpit's browser-based then just use Cockpit's browser-based terminal. Honestly, it is not really new terminal. Honestly, it is not really new terminal. Honestly, it is not really new to me. I was using Cockpit already a few to me. I was using Cockpit already a few to me. I was using Cockpit already a few years ago when I needed a clean way to years ago when I needed a clean way to years ago when I needed a clean way to manage my bare-metal Linux server manage my bare-metal Linux server manage my bare-metal Linux server without having to use SSH for every without having to use SSH for every without having to use SSH for every small task. But over time, because I small task. But over time, because I small task. But over time, because I moved more to using Proxmox in my home moved more to using Proxmox in my home moved more to using Proxmox in my home lab, which already has a web interface, lab, which already has a web interface, lab, which already has a web interface, I kind of ignored Cockpit for a while. I kind of ignored Cockpit for a while. I kind of ignored Cockpit for a while. But now recently, I installed a new But now recently, I installed a new But now recently, I installed a new bare-metal Linux server in my home lab bare-metal Linux server in my home lab bare-metal Linux server in my home lab again without Proxmox, and then I again without Proxmox, and then I again without Proxmox, and then I reminded myself, "Oh, wait a second. reminded myself, "Oh, wait a second. reminded myself, "Oh, wait a second. Cockpit exists. Maybe I should take Cockpit exists. Maybe I should take Cockpit exists. Maybe I should take another look at this dashboard and use another look at this dashboard and use another look at this dashboard and use this for managing that new Linux this for managing that new Linux this for managing that new Linux server." And when I'm already on it, why server." And when I'm already on it, why server." And when I'm already on it, why not make a fresh updated tutorial for not make a fresh updated tutorial for not make a fresh updated tutorial for you guys? So, that's why we are here. In you guys? So, that's why we are here. In you guys? So, that's why we are here. In this video, I'm going to show you how to this video, I'm going to show you how to this video, I'm going to show you how to set up Cockpit, how to access it, and set up Cockpit, how to access it, and set up Cockpit, how to access it, and how to protect it behind a Caddy reverse how to protect it behind a Caddy reverse how to protect it behind a Caddy reverse proxy with trusted TLS certificates. And proxy with trusted TLS certificates. And proxy with trusted TLS certificates. And then we'll walk through some of the new then we'll walk through some of the new then we'll walk through some of the new changes and improvements that happened changes and improvements that happened changes and improvements that happened in Cockpit since my last video. And of in Cockpit since my last video. And of in Cockpit since my last video. And of course, just to mention it, Cockpit does course, just to mention it, Cockpit does course, just to mention it, Cockpit does not only work on a big physical machine.

  2. not only work on a big physical machine. not only work on a big physical machine. You can also run Cockpit on a virtual You can also run Cockpit on a virtual You can also run Cockpit on a virtual server or on a small home server, maybe server or on a small home server, maybe server or on a small home server, maybe a Raspberry Pi, or basically any other a Raspberry Pi, or basically any other a Raspberry Pi, or basically any other Linux machine where you want a simple Linux machine where you want a simple Linux machine where you want a simple admin dashboard, and you can even manage admin dashboard, and you can even manage admin dashboard, and you can even manage remote servers through one single remote servers through one single remote servers through one single installation of Cockpit. More about that installation of Cockpit. More about that installation of Cockpit. More about that later. Before we jump right into this later. Before we jump right into this later. Before we jump right into this setup, I also quickly want to talk about setup, I also quickly want to talk about setup, I also quickly want to talk about remote access, because if you're remote access, because if you're remote access, because if you're managing Linux servers, you probably managing Linux servers, you probably managing Linux servers, you probably also need a safe way to reach them when also need a safe way to reach them when also need a safe way to reach them when you're not at home or you're not you're not at home or you're not you're not at home or you're not directly connected to the same network. directly connected to the same network. directly connected to the same network. And for that, I would always use And for that, I would always use And for that, I would always use Twingate, the sponsor of today's video, Twingate, the sponsor of today's video, Twingate, the sponsor of today's video, because Twingate is great for these because Twingate is great for these because Twingate is great for these situations. Just logging into a home lab situations. Just logging into a home lab situations. Just logging into a home lab server over an admin dashboard. It is server over an admin dashboard. It is server over an admin dashboard. It is what we call ZTNA, a zero trust network what we call ZTNA, a zero trust network what we call ZTNA, a zero trust network access platform that establishes secure access platform that establishes secure access platform that establishes secure connections between all of your devices, connections between all of your devices, connections between all of your devices, where every request has to be verified where every request has to be verified where every request has to be verified and authorized. Otherwise, Twilgate and authorized. Otherwise, Twilgate and authorized. Otherwise, Twilgate won't let the request go through. And won't let the request go through. And won't let the request go through. And the cool thing is that this technology the cool thing is that this technology the cool thing is that this technology even works through NAT devices and even works through NAT devices and even works through NAT devices and firewalls without any port forwardings firewalls without any port forwardings firewalls without any port forwardings or firewall exceptions required. So, you or firewall exceptions required. So, you or firewall exceptions required. So, you can just securely access all of your can just securely access all of your can just securely access all of your systems, no matter where you are or systems, no matter where you are or systems, no matter where you are or where you're connecting from. If you where you're connecting from. If you where you're connecting from. If you would like to try it out, then check out would like to try it out, then check out would like to try it out, then check out my tutorials on how to install Twilgate my tutorials on how to install Twilgate my tutorials on how to install Twilgate in your network and how to integrate it in your network and how to integrate it in your network and how to integrate it into your Docker, Kubernetes, or DevOps into your Docker, Kubernetes, or DevOps into your Docker, Kubernetes, or DevOps environment using Terraform. It is environment using Terraform. It is environment using Terraform. It is completely free for personal usage for completely free for personal usage for completely free for personal usage for up to five users and 10 different remote up to five users and 10 different remote up to five users and 10 different remote networks. So, start making your network networks. So, start making your network networks. So, start making your network more secure and accessible with more secure and accessible with more secure and accessible with Twilgate. Of course, I will drop you a Twilgate. Of course, I will drop you a Twilgate. Of course, I will drop you a link to their website in the description

  3. link to their website in the description link to their website in the description box down below. box down below. box down below. All right, guys. So, now before we All right, guys. So, now before we All right, guys. So, now before we install Cockpit on one of my demo install Cockpit on one of my demo install Cockpit on one of my demo servers in my home lab, let's first of servers in my home lab, let's first of servers in my home lab, let's first of all take a look what it actually is. On all take a look what it actually is. On all take a look what it actually is. On the official website, you can see it the official website, you can see it the official website, you can see it describes itself as an easy-to-use, describes itself as an easy-to-use, describes itself as an easy-to-use, integrated, and open web-based interface integrated, and open web-based interface integrated, and open web-based interface for your servers. And I think that for your servers. And I think that for your servers. And I think that already explains it pretty well. And already explains it pretty well. And already explains it pretty well. And it's not trying to replace any tools it's not trying to replace any tools it's not trying to replace any tools like Proxmox, Ansible, or the command like Proxmox, Ansible, or the command like Proxmox, Ansible, or the command line itself. It is really more like a line itself. It is really more like a line itself. It is really more like a native web console for Linux server. And native web console for Linux server. And native web console for Linux server. And the project is also closely connected to the project is also closely connected to the project is also closely connected to the Red Hat and Fedora's world. So, the Red Hat and Fedora's world. So, the Red Hat and Fedora's world. So, Cockpit is a Red Hat sponsored free Cockpit is a Red Hat sponsored free Cockpit is a Red Hat sponsored free software project. And on a Fedora software project. And on a Fedora software project. And on a Fedora server, it is installed by default. So, server, it is installed by default. So, server, it is installed by default. So, that's why you will often see it called that's why you will often see it called that's why you will often see it called the web console in Red Hat Enterprise the web console in Red Hat Enterprise the web console in Red Hat Enterprise Linux server documentation. But, it is Linux server documentation. But, it is Linux server documentation. But, it is not only for Red Hat based server. So, not only for Red Hat based server. So, not only for Red Hat based server. So, you can also install that on a couple of you can also install that on a couple of you can also install that on a couple of other Linux distributions as well that other Linux distributions as well that other Linux distributions as well that are supported. And it's very simple to are supported. And it's very simple to are supported. And it's very simple to install and set up. Here on my Proxmox install and set up. Here on my Proxmox install and set up. Here on my Proxmox environment. I've already installed a environment. I've already installed a environment. I've already installed a small testing server with that IP small testing server with that IP small testing server with that IP address. So, I will just SSH into that address. So, I will just SSH into that address. So, I will just SSH into that one and then I'll start copy and paste one and then I'll start copy and paste one and then I'll start copy and paste these commands. So, one thing that you these commands. So, one thing that you these commands. So, one thing that you probably will notice, this did not work probably will notice, this did not work probably will notice, this did not work on my Ubuntu 26.04 LTS VM. Therefore, on my Ubuntu 26.04 LTS VM. Therefore, on my Ubuntu 26.04 LTS VM. Therefore, I'm switching to the normal I'm switching to the normal I'm switching to the normal repositories. The newer Ubuntu backport repositories. The newer Ubuntu backport repositories. The newer Ubuntu backport versions for whatever reason don't versions for whatever reason don't versions for whatever reason don't include the cockpit package. Maybe that include the cockpit package. Maybe that include the cockpit package. Maybe that changes in the future because it's quite changes in the future because it's quite changes in the future because it's quite new, but for now we have to use a

  4. new, but for now we have to use a new, but for now we have to use a different command to install it. So, different command to install it. So, different command to install it. So, just make sure to update the package just make sure to update the package just make sure to update the package sources and then just enter sudo apt sources and then just enter sudo apt sources and then just enter sudo apt install cockpit through the normal install cockpit through the normal install cockpit through the normal repositories. By the way, after repositories. By the way, after repositories. By the way, after recording this video, I will also create recording this video, I will also create recording this video, I will also create a new write-up article on my website a new write-up article on my website a new write-up article on my website christianleppa.de, so then you don't christianleppa.de, so then you don't christianleppa.de, so then you don't need to remember or write down any of need to remember or write down any of need to remember or write down any of the commands that I'm using in this the commands that I'm using in this the commands that I'm using in this video. You can just read the video. You can just read the video. You can just read the documentation and just copy and paste documentation and just copy and paste documentation and just copy and paste the commands from my website. that might the commands from my website. that might the commands from my website. that might be a bit easier. And now, after be a bit easier. And now, after be a bit easier. And now, after installing the packages, I still needed installing the packages, I still needed installing the packages, I still needed to enable the cockpit's systemd socket to enable the cockpit's systemd socket to enable the cockpit's systemd socket because cockpit uses socket activation, because cockpit uses socket activation, because cockpit uses socket activation, so systemd listens on port 9090 and so systemd listens on port 9090 and so systemd listens on port 9090 and starts the cockpit web service when starts the cockpit web service when starts the cockpit web service when someone connects to it. And enabling the someone connects to it. And enabling the someone connects to it. And enabling the socket also makes sure that cockpit is socket also makes sure that cockpit is socket also makes sure that cockpit is available again after reboot. So, let's available again after reboot. So, let's available again after reboot. So, let's run the command systemctl enable now run the command systemctl enable now run the command systemctl enable now cockpit.socket. cockpit.socket. cockpit.socket. And then you can check with systemctl And then you can check with systemctl And then you can check with systemctl status cockpit.socket if this is enabled status cockpit.socket if this is enabled status cockpit.socket if this is enabled and listening for incoming connections.

  5. and listening for incoming connections. and listening for incoming connections. All right, so then we just need to open All right, so then we just need to open All right, so then we just need to open a browser window and then connect to the a browser window and then connect to the a browser window and then connect to the IP address of the server on port 9090 IP address of the server on port 9090 IP address of the server on port 9090 and then we should be able to reach the and then we should be able to reach the and then we should be able to reach the web interface of cockpit. We just need web interface of cockpit. We just need web interface of cockpit. We just need to log in with our server user account. to log in with our server user account. to log in with our server user account. It's by the way using the same username It's by the way using the same username It's by the way using the same username and password that you use to log into and password that you use to log into and password that you use to log into SSH. So, if you're using public and SSH. So, if you're using public and SSH. So, if you're using public and private SSH key pairs to authenticate, private SSH key pairs to authenticate, private SSH key pairs to authenticate, you might need to change or enable you might need to change or enable you might need to change or enable password authentication to your server. password authentication to your server. password authentication to your server. So, that's the web console of Cockpit. So, that's the web console of Cockpit. So, that's the web console of Cockpit. Now, we need to turn on the Now, we need to turn on the Now, we need to turn on the administrative access, and then you have administrative access, and then you have administrative access, and then you have full administrative access to this full administrative access to this full administrative access to this server. You can see some health usage server. You can see some health usage server. You can see some health usage and system information as well as and system information as well as and system information as well as configuration settings here from the configuration settings here from the configuration settings here from the overview, and then you can drill into overview, and then you can drill into overview, and then you can drill into logs. By default, it is filtered to logs. By default, it is filtered to logs. By default, it is filtered to error and above, but if you want to see error and above, but if you want to see error and above, but if you want to see debug or information logs, you can debug or information logs, you can debug or information logs, you can easily filter and go through the easily filter and go through the easily filter and go through the different system identifications for the different system identifications for the different system identifications for the services or find a specific Linux server services or find a specific Linux server services or find a specific Linux server logs like the kernel messages, user logs like the kernel messages, user logs like the kernel messages, user authentication, and stuff like that. You authentication, and stuff like that. You authentication, and stuff like that. You can also go into storage and manage the can also go into storage and manage the can also go into storage and manage the system's virtual and physical disks as system's virtual and physical disks as system's virtual and physical disks as well as create new drives, new NFS mount well as create new drives, new NFS mount well as create new drives, new NFS mount points. You can change the network points. You can change the network points. You can change the network configuration, adding VPNs, adding configuration, adding VPNs, adding configuration, adding VPNs, adding bridge interfaces, VLAN interfaces. You bridge interfaces, VLAN interfaces. You bridge interfaces, VLAN interfaces. You can add and manage user accounts, can add and manage user accounts, can add and manage user accounts, troubleshoot services, run software troubleshoot services, run software troubleshoot services, run software updates. By the way, here you probably updates. By the way, here you probably updates. By the way, here you probably notice a small error that is existing on notice a small error that is existing on notice a small error that is existing on my Ubuntu server. That might not happen

  6. my Ubuntu server. That might not happen my Ubuntu server. That might not happen on Fedora or Red Hat based servers, but on Fedora or Red Hat based servers, but on Fedora or Red Hat based servers, but don't worry, we will fix that in a don't worry, we will fix that in a don't worry, we will fix that in a second. Let's first of all take a look second. Let's first of all take a look second. Let's first of all take a look at how we actually connect to the at how we actually connect to the at how we actually connect to the system. The good thing is that we system. The good thing is that we system. The good thing is that we already using HTTPS, so an encrypted already using HTTPS, so an encrypted already using HTTPS, so an encrypted connection, and it's fine for quick connection, and it's fine for quick connection, and it's fine for quick test, but for a real server, I usually test, but for a real server, I usually test, but for a real server, I usually do not want another admin interface do not want another admin interface do not want another admin interface exposed directly on the network with its exposed directly on the network with its exposed directly on the network with its own self-signed certificate. So, I own self-signed certificate. So, I own self-signed certificate. So, I thought, "Why not just use the Caddy thought, "Why not just use the Caddy thought, "Why not just use the Caddy reverse proxy?" And I think it is really reverse proxy?" And I think it is really reverse proxy?" And I think it is really perfect for something like this. We can perfect for something like this. We can perfect for something like this. We can make Cockpit just listening on the local make Cockpit just listening on the local make Cockpit just listening on the local host and put Caddy in front of it, so host and put Caddy in front of it, so host and put Caddy in front of it, so the browser gets a normal trusted HTTPS the browser gets a normal trusted HTTPS the browser gets a normal trusted HTTPS or TLS certificate. Note, this assumes or TLS certificate. Note, this assumes or TLS certificate. Note, this assumes that Caddy is running on the same server that Caddy is running on the same server that Caddy is running on the same server as Cockpit and is not somehow running in as Cockpit and is not somehow running in as Cockpit and is not somehow running in Docker. If you want to run Caddy or Docker. If you want to run Caddy or Docker. If you want to run Caddy or Cockpit in Docker, it requires Cockpit in Docker, it requires Cockpit in Docker, it requires configuration settings that I've not configuration settings that I've not configuration settings that I've not covered in this video. Therefore, I covered in this video. Therefore, I covered in this video. Therefore, I think it is easier to run Caddy instead think it is easier to run Caddy instead think it is easier to run Caddy instead of using something like Traefik. Note, of using something like Traefik. Note, of using something like Traefik. Note, I've already made a full Caddy tutorial, I've already made a full Caddy tutorial, I've already made a full Caddy tutorial, so I'm not going to explain the whole so I'm not going to explain the whole so I'm not going to explain the whole reverse proxy and certificate flow in reverse proxy and certificate flow in reverse proxy and certificate flow in detail again. So, if you feel this is a detail again. So, if you feel this is a detail again. So, if you feel this is a little too fast, I'll link you my Caddy little too fast, I'll link you my Caddy little too fast, I'll link you my Caddy tutorial in the video description box tutorial in the video description box tutorial in the video description box down below. So, there I've explained down below. So, there I've explained down below. So, there I've explained everything about this. So, let's first everything about this. So, let's first everything about this. So, let's first of all of all of all do an apt update. I think that is always do an apt update. I think that is always do an apt update. I think that is always a good idea. And then install some of a good idea. And then install some of a good idea. And then install some of the dependencies that the Caddy server the dependencies that the Caddy server the dependencies that the Caddy server needs. Like the Go packages. This is needs. Like the Go packages. This is needs. Like the Go packages. This is really important. apt transport https really important. apt transport https really important. apt transport https and curl. Then I'm going to add the and curl. Then I'm going to add the and curl. Then I'm going to add the official Caddy package repository.

  7. official Caddy package repository. official Caddy package repository. Again, just copy and paste these Again, just copy and paste these Again, just copy and paste these commands from my tutorial website. Then commands from my tutorial website. Then commands from my tutorial website. Then we'll do an apt update again. And then a we'll do an apt update again. And then a we'll do an apt update again. And then a sudo apt install Caddy. All right. So, sudo apt install Caddy. All right. So, sudo apt install Caddy. All right. So, now we can check with systemctl status now we can check with systemctl status now we can check with systemctl status Caddy if the server is up and running. Caddy if the server is up and running. Caddy if the server is up and running. So, yes, everything works fine. And now, So, yes, everything works fine. And now, So, yes, everything works fine. And now, because I want to use the DNS challenge because I want to use the DNS challenge because I want to use the DNS challenge with the Cloudflare's API key to obtain with the Cloudflare's API key to obtain with the Cloudflare's API key to obtain trusted TLS certificates via Caddy, I trusted TLS certificates via Caddy, I trusted TLS certificates via Caddy, I also need to rebuild the Caddy package also need to rebuild the Caddy package also need to rebuild the Caddy package with the Cloudflare's plugin. Again, with the Cloudflare's plugin. Again, with the Cloudflare's plugin. Again, I've explained this in my Caddy I've explained this in my Caddy I've explained this in my Caddy tutorial. So, first of all, we need to tutorial. So, first of all, we need to tutorial. So, first of all, we need to add the xcaddy package repository. So, add the xcaddy package repository. So, add the xcaddy package repository. So, this is what we need to rebuild the this is what we need to rebuild the this is what we need to rebuild the Caddy's packages. And once that is Caddy's packages. And once that is Caddy's packages. And once that is complete, we can use the xcaddy build complete, we can use the xcaddy build complete, we can use the xcaddy build command with the Caddy DNS package for command with the Caddy DNS package for command with the Caddy DNS package for Cloudflare. So, note that might take a Cloudflare. So, note that might take a Cloudflare. So, note that might take a few minutes, so take your time, do a few minutes, so take your time, do a few minutes, so take your time, do a break, and wait until it is finished. break, and wait until it is finished. break, and wait until it is finished. Also, one thing that is important now, Also, one thing that is important now, Also, one thing that is important now, we need to stop Caddy and replace the we need to stop Caddy and replace the we need to stop Caddy and replace the existing Caddy's binary with our newly existing Caddy's binary with our newly existing Caddy's binary with our newly rebuilt version, start it again. And rebuilt version, start it again. And rebuilt version, start it again. And then, with Caddy version, you should see then, with Caddy version, you should see then, with Caddy version, you should see this is the version that we've just this is the version that we've just this is the version that we've just rebuilt. All right. So, now that we have rebuilt. All right. So, now that we have rebuilt. All right. So, now that we have this, first of all, we need to create a this, first of all, we need to create a this, first of all, we need to create a systemd socket override for Cockpit systemd socket override for Cockpit systemd socket override for Cockpit because that lets us change that part of because that lets us change that part of because that lets us change that part of a service or socket configuration a service or socket configuration a service or socket configuration without having to edit the original without having to edit the original without having to edit the original package provided unit file. And we need

  8. package provided unit file. And we need package provided unit file. And we need that because we want to change Cockpit that because we want to change Cockpit that because we want to change Cockpit to not listen directly on the port 9090 to not listen directly on the port 9090 to not listen directly on the port 9090 again and only listen for incoming again and only listen for incoming again and only listen for incoming connections from the same localhost. So, connections from the same localhost. So, connections from the same localhost. So, that the Caddy reverse proxy itself on that the Caddy reverse proxy itself on that the Caddy reverse proxy itself on the same machine can connect to the the same machine can connect to the the same machine can connect to the Cockpit interface, but no user from the Cockpit interface, but no user from the Cockpit interface, but no user from the network can anymore because all the network can anymore because all the network can anymore because all the connections have to go through Caddy connections have to go through Caddy connections have to go through Caddy first. And let's create a new directory first. And let's create a new directory first. And let's create a new directory in the etc. systemd system in the etc. systemd system in the etc. systemd system cockpit.socket.d. cockpit.socket.d. cockpit.socket.d. And the file that we create in this And the file that we create in this And the file that we create in this directory is called listen.conf. So, now directory is called listen.conf. So, now directory is called listen.conf. So, now what we need to do is we need to what we need to do is we need to what we need to do is we need to override the unit file for the socket. override the unit file for the socket. override the unit file for the socket. And first of all, set the listen stream And first of all, set the listen stream And first of all, set the listen stream equal and leave this empty. Note, this equal and leave this empty. Note, this equal and leave this empty. Note, this is important because this line clears is important because this line clears is important because this line clears the default listener. Otherwise, systemd the default listener. Otherwise, systemd the default listener. Otherwise, systemd would just keep the original Cockpit would just keep the original Cockpit would just keep the original Cockpit listener from the package unit file as listener from the package unit file as listener from the package unit file as well. So, the override would not well. So, the override would not well. So, the override would not actually do anything. And once we have actually do anything. And once we have actually do anything. And once we have reset the listen stream, we can now reset the listen stream, we can now reset the listen stream, we can now change it by adding the local IP address change it by adding the local IP address change it by adding the local IP address and listen on the port 9090.

  9. and listen on the port 9090. and listen on the port 9090. All right. So, that's everything. We can All right. So, that's everything. We can All right. So, that's everything. We can save this file and exit. Now that we save this file and exit. Now that we save this file and exit. Now that we have this socket override file in the have this socket override file in the have this socket override file in the correct directory, we can apply the correct directory, we can apply the correct directory, we can apply the change by just executing systemctl change by just executing systemctl change by just executing systemctl daemon reload and daemon reload and daemon reload and the cockpit socket. Let's check if it is the cockpit socket. Let's check if it is the cockpit socket. Let's check if it is still online. So, yes, it's active and still online. So, yes, it's active and still online. So, yes, it's active and running. So, now we also need to change running. So, now we also need to change running. So, now we also need to change one thing in cockpit and that is telling one thing in cockpit and that is telling one thing in cockpit and that is telling cockpit that it will be running behind a cockpit that it will be running behind a cockpit that it will be running behind a reverse proxy. So, therefore, we need to reverse proxy. So, therefore, we need to reverse proxy. So, therefore, we need to change the configuration file in the change the configuration file in the change the configuration file in the etc. cockpit.conf etc. cockpit.conf etc. cockpit.conf and configure the web service and set to and configure the web service and set to and configure the web service and set to the origins the external address that the origins the external address that the origins the external address that someone needs to log in. I'm mostly someone needs to log in. I'm mostly someone needs to log in. I'm mostly using home.secreg.de as my domain for using home.secreg.de as my domain for using home.secreg.de as my domain for home, but I've also added a DNS name home, but I've also added a DNS name home, but I've also added a DNS name specifically for cockpit-test specifically for cockpit-test specifically for cockpit-test that points to the IP address of this that points to the IP address of this that points to the IP address of this virtual server. So, 10.21.7.

  10. virtual server. So, 10.21.7. virtual server. So, 10.21.7. And that is the origin that we need to And that is the origin that we need to And that is the origin that we need to add here. We also want to add the web add here. We also want to add the web add here. We also want to add the web socket here. So, https and wss. socket here. So, https and wss. socket here. So, https and wss. And the protocol header is set to x- And the protocol header is set to x- And the protocol header is set to x- forwarded proto. So, that tells cockpit forwarded proto. So, that tells cockpit forwarded proto. So, that tells cockpit that the original browser connection is that the original browser connection is that the original browser connection is https even through the request is being https even through the request is being https even through the request is being forwarded by Caddy. And then we just forwarded by Caddy. And then we just forwarded by Caddy. And then we just need to restart the cockpit socket once need to restart the cockpit socket once need to restart the cockpit socket once more. So, check if this is still running more. So, check if this is still running more. So, check if this is still running active listening. So, yeah, my active listening. So, yeah, my active listening. So, yeah, my configuration file should be correct. configuration file should be correct. configuration file should be correct. All right. So, now we need to configure All right. So, now we need to configure All right. So, now we need to configure the Caddy reverse proxy by adding a the Caddy reverse proxy by adding a the Caddy reverse proxy by adding a Caddy file. This we can easily do in the Caddy file. This we can easily do in the Caddy file. This we can easily do in the etc. Caddy file. So, there should be etc. Caddy file. So, there should be etc. Caddy file. So, there should be already a default Caddy file existing. I already a default Caddy file existing. I already a default Caddy file existing. I think we can just overwrite these think we can just overwrite these think we can just overwrite these default entries and just append our default entries and just append our default entries and just append our configuration here. So, here we want to configuration here. So, here we want to configuration here. So, here we want to create a new web server for create a new web server for create a new web server for cockpit.test.home.secreg.de. We will add cockpit.test.home.secreg.de. We will add cockpit.test.home.secreg.de. We will add a TLS configuration.

  11. So, that again is needed for the DNS So, that again is needed for the DNS challenge and the TLS certificates. challenge and the TLS certificates. challenge and the TLS certificates. DNS is Cloudflare. So, here DNS is Cloudflare. So, here DNS is Cloudflare. So, here we need to add the Cloudflare's API we need to add the Cloudflare's API we need to add the Cloudflare's API token. I will put that in later. Can add token. I will put that in later. Can add token. I will put that in later. Can add this in clear text or add a reference to this in clear text or add a reference to this in clear text or add a reference to an environment variable file. Again, an environment variable file. Again, an environment variable file. Again, watch my Caddy video. Add resolvers to watch my Caddy video. Add resolvers to watch my Caddy video. Add resolvers to the Cloudflare's default DNS server, and the Cloudflare's default DNS server, and the Cloudflare's default DNS server, and then add reverse proxy. So, we want to then add reverse proxy. So, we want to then add reverse proxy. So, we want to forward incoming connections to the forward incoming connections to the forward incoming connections to the local IP address where the Cockpit local IP address where the Cockpit local IP address where the Cockpit socket is listening on. So, this will socket is listening on. So, this will socket is listening on. So, this will keep the external host name for Cockpit. keep the external host name for Cockpit. keep the external host name for Cockpit. Transport will be HTTP, and we will use Transport will be HTTP, and we will use Transport will be HTTP, and we will use a TLS insecure skip verify. This is a TLS insecure skip verify. This is a TLS insecure skip verify. This is important because the internal Cockpit important because the internal Cockpit important because the internal Cockpit socket, again, does not have trusted TLS socket, again, does not have trusted TLS socket, again, does not have trusted TLS certificates. So, with this setting, we certificates. So, with this setting, we certificates. So, with this setting, we allow the Caddy reverse proxy, only the allow the Caddy reverse proxy, only the allow the Caddy reverse proxy, only the Caddy reverse proxy, to connect to this Caddy reverse proxy, to connect to this Caddy reverse proxy, to connect to this insecure web service. I think that insecure web service. I think that insecure web service. I think that should be all. Hopefully, I've done should be all. Hopefully, I've done should be all. Hopefully, I've done everything correct. Oh, well, of course, everything correct. Oh, well, of course, everything correct. Oh, well, of course, I need to put in the API token. Reload I need to put in the API token. Reload I need to put in the API token. Reload Caddy, and yes, I think everything Caddy, and yes, I think everything Caddy, and yes, I think everything should be correct. Still check some of should be correct. Still check some of should be correct. Still check some of the opened ports here. So, you should the opened ports here. So, you should the opened ports here. So, you should see any incoming connections on the port see any incoming connections on the port see any incoming connections on the port 80 and 443. By the way, you can probably 80 and 443. By the way, you can probably 80 and 443. By the way, you can probably also add a redirection from HTTP to also add a redirection from HTTP to also add a redirection from HTTP to HTTPS, and that will then send the HTTPS, and that will then send the HTTPS, and that will then send the incoming connection to the Cockpit incoming connection to the Cockpit incoming connection to the Cockpit socket. So, that should work. Now, if we socket. So, that should work. Now, if we socket. So, that should work. Now, if we reload this page, we should not get any reload this page, we should not get any reload this page, we should not get any connection at all, but when we use connection at all, but when we use connection at all, but when we use Cockpit without the port, then we should Cockpit without the port, then we should Cockpit without the port, then we should reach the web interface through trusted

  12. reach the web interface through trusted reach the web interface through trusted TLS certificates managed by the Caddy's TLS certificates managed by the Caddy's TLS certificates managed by the Caddy's reverse proxy. So, you can see the reverse proxy. So, you can see the reverse proxy. So, you can see the connection now is secure. The connection now is secure. The connection now is secure. The certificate is valid, and we can log in certificate is valid, and we can log in certificate is valid, and we can log in with our credentials again, and here we with our credentials again, and here we with our credentials again, and here we are. So, there's just one thing that I are. So, there's just one thing that I are. So, there's just one thing that I need to fix here, because you might have need to fix here, because you might have need to fix here, because you might have noticed earlier that for whatever noticed earlier that for whatever noticed earlier that for whatever reason, software updates are not reason, software updates are not reason, software updates are not possible, because there is an error possible, because there is an error possible, because there is an error here. Cannot refresh cache whilst here. Cannot refresh cache whilst here. Cannot refresh cache whilst offline. Of course, the server has an offline. Of course, the server has an offline. Of course, the server has an existing internet connection. That is existing internet connection. That is existing internet connection. That is because on a Debian and Ubuntu system, because on a Debian and Ubuntu system, because on a Debian and Ubuntu system, it uses different packages or different it uses different packages or different it uses different packages or different configurations for network connectivity configurations for network connectivity configurations for network connectivity than Red Hat based Linux servers do. than Red Hat based Linux servers do. than Red Hat based Linux servers do. That's a pretty common problem and easy That's a pretty common problem and easy That's a pretty common problem and easy to fix. So, we just need to create that to fix. So, we just need to create that to fix. So, we just need to create that particular file with the content particular file with the content particular file with the content unmanaged devices. So, let's just return unmanaged devices. So, let's just return unmanaged devices. So, let's just return to the terminal. Let's first of all to the terminal. Let's first of all to the terminal. Let's first of all create this directory here and then create this directory here and then create this directory here and then create and edit this file. And here we create and edit this file. And here we create and edit this file. And here we just need to add key file unmanaged just need to add key file unmanaged just need to add key file unmanaged devices. So, just copy paste that. Let's devices. So, just copy paste that. Let's devices. So, just copy paste that. Let's save and exit. Note, if you're running save and exit. Note, if you're running save and exit. Note, if you're running Ubuntu on an ARM 64-bit CPU like a Ubuntu on an ARM 64-bit CPU like a Ubuntu on an ARM 64-bit CPU like a Raspberry Pi, then you also need to Raspberry Pi, then you also need to Raspberry Pi, then you also need to install the extra Linux kernel modules install the extra Linux kernel modules install the extra Linux kernel modules for networking. So, because this is for networking. So, because this is for networking. So, because this is running on a virtual x86 CPU, that is running on a virtual x86 CPU, that is running on a virtual x86 CPU, that is not needed. And then we set up a dummy not needed. And then we set up a dummy not needed. And then we set up a dummy network interface. And that will then network interface. And that will then network interface. And that will then get rid of this error message. So, let's get rid of this error message. So, let's get rid of this error message. So, let's do this. I probably need to run this do this. I probably need to run this do this. I probably need to run this with sudo privileges. And then we also with sudo privileges. And then we also with sudo privileges. And then we also need to reboot the machine. So, now you

  13. need to reboot the machine. So, now you need to reboot the machine. So, now you can see it's checking software update can see it's checking software update can see it's checking software update status. It loads something. That's status. It loads something. That's status. It loads something. That's actually a good sign. And yep, so system actually a good sign. And yep, so system actually a good sign. And yep, so system is up-to-date. If there were any updated is up-to-date. If there were any updated is up-to-date. If there were any updated packages, I could easily install them packages, I could easily install them packages, I could easily install them through the web interface. And now you through the web interface. And now you through the web interface. And now you should also see network connection is up should also see network connection is up should also see network connection is up and running. All right. So, one thing and running. All right. So, one thing and running. All right. So, one thing that I really like about Cockpit is that that I really like about Cockpit is that that I really like about Cockpit is that the dashboard is kind of modular. So, the dashboard is kind of modular. So, the dashboard is kind of modular. So, the base installation gives you the core the base installation gives you the core the base installation gives you the core web console and already some good web console and already some good web console and already some good functionality to manage the core functionality to manage the core functionality to manage the core abilities or the core functionalities of abilities or the core functionalities of abilities or the core functionalities of your Linux server like storage, your Linux server like storage, your Linux server like storage, networking, accounts, services, updates, networking, accounts, services, updates, networking, accounts, services, updates, and so on. And you can extend the and so on. And you can extend the and so on. And you can extend the functionality of Cockpit by adding more functionality of Cockpit by adding more functionality of Cockpit by adding more applications to it. You can find these applications to it. You can find these applications to it. You can find these applications when you go to the official applications when you go to the official applications when you go to the official website and go to install adding website and go to install adding website and go to install adding additional applications in Cockpit. So, additional applications in Cockpit. So, additional applications in Cockpit. So, here you can see the official or the here you can see the official or the here you can see the official or the officially supported Cockpit apps. There officially supported Cockpit apps. There officially supported Cockpit apps. There are a few Red Hat developed applications are a few Red Hat developed applications are a few Red Hat developed applications and SUSE developed applications for and SUSE developed applications for and SUSE developed applications for these Linux distributions specifically these Linux distributions specifically these Linux distributions specifically mentioned here, but there are also mentioned here, but there are also mentioned here, but there are also third-party applications or extensions third-party applications or extensions third-party applications or extensions that work on Ubuntu and Debian based that work on Ubuntu and Debian based that work on Ubuntu and Debian based Linux systems. For example, you can see Linux systems. For example, you can see Linux systems. For example, you can see a ZFS manager if you are running ZFS a ZFS manager if you are running ZFS a ZFS manager if you are running ZFS storage pool on your Linux server, you storage pool on your Linux server, you storage pool on your Linux server, you can easily manage this through cockpit can easily manage this through cockpit can easily manage this through cockpit when you add this application package.

  14. when you add this application package. when you add this application package. There is a file sharing plug-in There is a file sharing plug-in There is a file sharing plug-in navigator, like a full featured file navigator, like a full featured file navigator, like a full featured file browser. And there's even a Docker browser. And there's even a Docker browser. And there's even a Docker manager. So when you're running the manager. So when you're running the manager. So when you're running the Docker engine on your Linux server, Docker engine on your Linux server, Docker engine on your Linux server, there's also a package manager, port there's also a package manager, port there's also a package manager, port forward manager, sudo manager. So there forward manager, sudo manager. So there forward manager, sudo manager. So there are a couple of things in here that are are a couple of things in here that are are a couple of things in here that are pretty cool. However, you notice the pretty cool. However, you notice the pretty cool. However, you notice the list is not too long. These are just the list is not too long. These are just the list is not too long. These are just the things on the actual cockpit website things on the actual cockpit website things on the actual cockpit website that mostly are tested by the team. that mostly are tested by the team. that mostly are tested by the team. Probably not everything in detail, but Probably not everything in detail, but Probably not everything in detail, but yeah, this is again the officially yeah, this is again the officially yeah, this is again the officially maintained website. Of course, you can maintained website. Of course, you can maintained website. Of course, you can find the one or another interesting find the one or another interesting find the one or another interesting project on GitHub as well. If you search project on GitHub as well. If you search project on GitHub as well. If you search on GitHub for cockpit, you might find a on GitHub for cockpit, you might find a on GitHub for cockpit, you might find a few things that are not on this website few things that are not on this website few things that are not on this website in here, but be careful doing this. Of in here, but be careful doing this. Of in here, but be careful doing this. Of course, I would strongly recommend course, I would strongly recommend course, I would strongly recommend taking a look at the official supported taking a look at the official supported taking a look at the official supported packages and use them mainly. But in packages and use them mainly. But in packages and use them mainly. But in theory, you could also extend this with theory, you could also extend this with theory, you could also extend this with your own custom plug-ins or extensions your own custom plug-ins or extensions your own custom plug-ins or extensions if you need. So I'll just give you a few if you need. So I'll just give you a few if you need. So I'll just give you a few examples of how to install this mostly examples of how to install this mostly examples of how to install this mostly on Red Hat or Fedora based Linux on Red Hat or Fedora based Linux on Red Hat or Fedora based Linux distros, it is enough to just install distros, it is enough to just install distros, it is enough to just install the package using the package manager.

  15. the package using the package manager. the package using the package manager. So it's super simple, but on Debian and So it's super simple, but on Debian and So it's super simple, but on Debian and Ubuntu, there are a few things that Ubuntu, there are a few things that Ubuntu, there are a few things that really don't work because they are not really don't work because they are not really don't work because they are not included in the actual Ubuntu included in the actual Ubuntu included in the actual Ubuntu repositories. If you want to install repositories. If you want to install repositories. If you want to install that on Ubuntu, most of these packages that on Ubuntu, most of these packages that on Ubuntu, most of these packages have a GitHub repository where you can have a GitHub repository where you can have a GitHub repository where you can find installation guides or commands for find installation guides or commands for find installation guides or commands for other distros as well. For example, if other distros as well. For example, if other distros as well. For example, if we want to install the Docker Manager, we want to install the Docker Manager, we want to install the Docker Manager, so here go to [snorts] the GitHub so here go to [snorts] the GitHub so here go to [snorts] the GitHub repository and there is even an repository and there is even an repository and there is even an automatic installation so that we even automatic installation so that we even automatic installation so that we even don't need to build these from source. don't need to build these from source. don't need to build these from source. Just copy these commands. Just paste and Just copy these commands. Just paste and Just copy these commands. Just paste and run these. All right, so I think that's run these. All right, so I think that's run these. All right, so I think that's real quick. Yeah, it's already done. So, real quick. Yeah, it's already done. So, real quick. Yeah, it's already done. So, now we just need to return to the now we just need to return to the now we just need to return to the Cockpit test. Maybe just refresh the Cockpit test. Maybe just refresh the Cockpit test. Maybe just refresh the page and you should see a new item in page and you should see a new item in page and you should see a new item in the menu appearing the Docker Manager. the menu appearing the Docker Manager. the menu appearing the Docker Manager. So, you can see this is pretty simple, So, you can see this is pretty simple, So, you can see this is pretty simple, yeah? Um I can now just stop, restart. I yeah? Um I can now just stop, restart. I yeah? Um I can now just stop, restart. I can drill into logs. I can open a can drill into logs. I can open a can drill into logs. I can open a terminal inside this Docker container.

  16. terminal inside this Docker container. terminal inside this Docker container. By the way, there's also another package By the way, there's also another package By the way, there's also another package existing that is called Docker Compose. existing that is called Docker Compose. existing that is called Docker Compose. I have not really tested this to be I have not really tested this to be I have not really tested this to be honest, but I think it should be fairly honest, but I think it should be fairly honest, but I think it should be fairly easy to install as well. So, yeah, here easy to install as well. So, yeah, here easy to install as well. So, yeah, here we have to go to releases. Just copy the we have to go to releases. Just copy the we have to go to releases. Just copy the link. Just download this Debian package link. Just download this Debian package link. Just download this Debian package file and then just use this command to file and then just use this command to file and then just use this command to install it. install it. install it. Okay, so that's it. Okay, so that's it. Okay, so that's it. Um let's see if that worked. Let's Um let's see if that worked. Let's Um let's see if that worked. Let's refresh. Ah, there is Docker Compose. I refresh. Ah, there is Docker Compose. I refresh. Ah, there is Docker Compose. I think we have to restart Cockpit. Let's think we have to restart Cockpit. Let's think we have to restart Cockpit. Let's see what we can do here. Honestly, I see what we can do here. Honestly, I see what we can do here. Honestly, I again, I've not really tested this. again, I've not really tested this. again, I've not really tested this. Let's create. Okay, now we can create a Let's create. Okay, now we can create a Let's create. Okay, now we can create a stack, engine X compose from Git URL and stack, engine X compose from Git URL and stack, engine X compose from Git URL and or from a template or add manual. And or from a template or add manual. And or from a template or add manual. And yeah, I think we can just put this into yeah, I think we can just put this into yeah, I think we can just put this into my home directory, I guess. And yeah, my home directory, I guess. And yeah, my home directory, I guess. And yeah, this is how you can use Cockpit to this is how you can use Cockpit to this is how you can use Cockpit to manage even Docker containers or compose manage even Docker containers or compose manage even Docker containers or compose stacks. Again, it's not a fully featured stacks. Again, it's not a fully featured stacks. Again, it's not a fully featured Docker server centralized management Docker server centralized management Docker server centralized management stuff, but it is nice, clean, simple and stuff, but it is nice, clean, simple and stuff, but it is nice, clean, simple and works not only for a single Linux works not only for a single Linux works not only for a single Linux machine. You can even use that via the machine. You can even use that via the machine. You can even use that via the Cockpit interface to any other Linux Cockpit interface to any other Linux Cockpit interface to any other Linux machine using SSH. Note there's one machine using SSH. Note there's one machine using SSH. Note there's one thing you need to be aware of. In thing you need to be aware of. In thing you need to be aware of. In earlier versions of Cockpit, there was earlier versions of Cockpit, there was earlier versions of Cockpit, there was something available that was called host something available that was called host something available that was called host switching where you could easily switch switching where you could easily switch switching where you could easily switch between different connected machines via between different connected machines via between different connected machines via a cockpit web session. However, that a cockpit web session. However, that a cockpit web session. However, that host switching feature is deprecated as host switching feature is deprecated as host switching feature is deprecated as of cockpit 322. You can still enable

  17. of cockpit 322. You can still enable of cockpit 322. You can still enable this if you really want. This is this if you really want. This is this if you really want. This is described here in these release notes. I described here in these release notes. I described here in these release notes. I would not recommend doing this. Instead, would not recommend doing this. Instead, would not recommend doing this. Instead, I'd like you to show the supported and I'd like you to show the supported and I'd like you to show the supported and even, by the way, much simpler way. So, even, by the way, much simpler way. So, even, by the way, much simpler way. So, you just log out from your current you just log out from your current you just log out from your current session, activate the other option. So, session, activate the other option. So, session, activate the other option. So, now you can connect to any remote now you can connect to any remote now you can connect to any remote machine via IP address or DNS name. So, machine via IP address or DNS name. So, machine via IP address or DNS name. So, in my case, for example, I want to in my case, for example, I want to in my case, for example, I want to connect to one of my production Linux connect to one of my production Linux connect to one of my production Linux servers where I have not installed servers where I have not installed servers where I have not installed cockpit at all, by the way, and log in cockpit at all, by the way, and log in cockpit at all, by the way, and log in with my user and password. So, now it's with my user and password. So, now it's with my user and password. So, now it's adding a new host. You can see that's adding a new host. You can see that's adding a new host. You can see that's basically just using SSH connection. basically just using SSH connection. basically just using SSH connection. Accept and log in. There are not all the Accept and log in. There are not all the Accept and log in. There are not all the menus available on remote server, but as menus available on remote server, but as menus available on remote server, but as you can see, I already get the CPU you can see, I already get the CPU you can see, I already get the CPU memory utilization, the system memory utilization, the system memory utilization, the system information, configuration. I can drill information, configuration. I can drill information, configuration. I can drill into logs, services, and even the into logs, services, and even the into logs, services, and even the installed applications are available. installed applications are available. installed applications are available. So, here, Docker Compose, for example, So, here, Docker Compose, for example, So, here, Docker Compose, for example, you can see all of my Docker Compose you can see all of my Docker Compose you can see all of my Docker Compose stacks that I'm currently running on my stacks that I'm currently running on my stacks that I'm currently running on my production Linux machine. I could easily production Linux machine. I could easily production Linux machine. I could easily inspect and even manage through my inspect and even manage through my inspect and even manage through my testing installation of cockpit on one testing installation of cockpit on one testing installation of cockpit on one of my demo servers but just using SSH.

  18. of my demo servers but just using SSH. of my demo servers but just using SSH. So, that is pretty cool. And of course, So, that is pretty cool. And of course, So, that is pretty cool. And of course, I can use the terminal tools to log into I can use the terminal tools to log into I can use the terminal tools to log into my production server from here and my production server from here and my production server from here and administrate it as well. So, that is administrate it as well. So, that is administrate it as well. So, that is cockpit. And honestly, I think it is cockpit. And honestly, I think it is cockpit. And honestly, I think it is pretty nice. Maybe not as a full pretty nice. Maybe not as a full pretty nice. Maybe not as a full replacement for Proxmox, not a full replacement for Proxmox, not a full replacement for Proxmox, not a full Docker management or centralized Docker management or centralized Docker management or centralized management platform, management platform, management platform, but I think this is a really nice and but I think this is a really nice and but I think this is a really nice and lightweight Linux server dashboard for lightweight Linux server dashboard for lightweight Linux server dashboard for things like quickly checking system things like quickly checking system things like quickly checking system information, information, information, running updates on a server, or running updates on a server, or running updates on a server, or configuring network and storage on configuring network and storage on configuring network and storage on physical machines where you don't have a physical machines where you don't have a physical machines where you don't have a Proxmox installation or Raspberry Pis Proxmox installation or Raspberry Pis Proxmox installation or Raspberry Pis for example, and just do all of the for example, and just do all of the for example, and just do all of the day-to-day administrative tasks through day-to-day administrative tasks through day-to-day administrative tasks through a nice and clean web interface. However, a nice and clean web interface. However, a nice and clean web interface. However, the biggest caveat or criticism that I the biggest caveat or criticism that I the biggest caveat or criticism that I have on this project is that it still have on this project is that it still have on this project is that it still feels so strongly in the Red Hat and feels so strongly in the Red Hat and feels so strongly in the Red Hat and Fedora ecosystem. And was the same when Fedora ecosystem. And was the same when Fedora ecosystem. And was the same when I looked at it like four or five years I looked at it like four or five years I looked at it like four or five years ago. So, that has not changed at all.

  19. ago. So, that has not changed at all. ago. So, that has not changed at all. And because it is a Red Hat sponsored And because it is a Red Hat sponsored And because it is a Red Hat sponsored project, I'm not expecting that to project, I'm not expecting that to project, I'm not expecting that to change. However, with a few tweaks and change. However, with a few tweaks and change. However, with a few tweaks and researching of the documentation, you researching of the documentation, you researching of the documentation, you can make it work pretty stable. And it's can make it work pretty stable. And it's can make it work pretty stable. And it's probably just not as nicely integrated probably just not as nicely integrated probably just not as nicely integrated with package management for the with package management for the with package management for the applications and a few hiccups that we applications and a few hiccups that we applications and a few hiccups that we needed to solve in this tutorial. Still, needed to solve in this tutorial. Still, needed to solve in this tutorial. Still, for my own setup, I keep it installed, for my own setup, I keep it installed, for my own setup, I keep it installed, not on my demo server, of course, but not on my demo server, of course, but not on my demo server, of course, but I've installed it on one of my virtual I've installed it on one of my virtual I've installed it on one of my virtual servers that I'm not heavily using for servers that I'm not heavily using for servers that I'm not heavily using for any other task, and then I can use this any other task, and then I can use this any other task, and then I can use this to log in via SSH to one of my to log in via SSH to one of my to log in via SSH to one of my production servers. Or I could also production servers. Or I could also production servers. Or I could also easily add this package there as well if easily add this package there as well if easily add this package there as well if I want. Use Caddy to securely protect I want. Use Caddy to securely protect I want. Use Caddy to securely protect this with TLS certs and so on. And this with TLS certs and so on. And this with TLS certs and so on. And certainly, I will keep using Cockpit for certainly, I will keep using Cockpit for certainly, I will keep using Cockpit for my big bare-metal Linux server. But my big bare-metal Linux server. But my big bare-metal Linux server. But yeah, that's my opinion. Of course, I'm yeah, that's my opinion. Of course, I'm yeah, that's my opinion. Of course, I'm now curious you are thinking about now curious you are thinking about now curious you are thinking about Cockpit. Were you actually aware of this Cockpit. Were you actually aware of this Cockpit. Were you actually aware of this project, or do you have better project, or do you have better project, or do you have better alternatives? Please tell me in the alternatives? Please tell me in the alternatives? Please tell me in the comments. And as always, thank you so comments. And as always, thank you so comments. And as always, thank you so much for watching. A big thanks goes out much for watching. A big thanks goes out much for watching. A big thanks goes out to all of my supporters on Patreon or on to all of my supporters on Patreon or on to all of my supporters on Patreon or on YouTube. You guys are really amazing.

  20. YouTube. You guys are really amazing. YouTube. You guys are really amazing. And of course, I'm going to catch you in And of course, I'm going to catch you in And of course, I'm going to catch you in the next one. Take care. Bye-bye.

Summary

The main theme is managing Linux servers with Cockpit, a web-based dashboard that offers a user-friendly interface for system settings, updates, services, and even a command-line terminal. The discussion touches upon secure remote access using Twingate's Zero Trust Network Access (ZTNA) solution. The practical takeaway is that Cockpit, optionally secured with Caddy and Twingate, provides an efficient and safe way to administer Linux systems from anywhere.

View original episode ↗