Continuing the series where apalrd teaches proxmox skills through meaningful applications, today we are setting up a proper fileserver on our Proxmox system using Linux Containers. I’ve chosen to use a lightweight Linux Container (LXC) for this, so we can share the host’s ZFS filesystem. To manage shares and users using a web UI, I’m installing Cockpit, as well as some additional modules from 45Drives to deal with Samba. This should provide a pretty easy to use storage interface, keep all of our storage contained in the host Proxmox system without adding another layer of filesystem or a virtual machine, and run well on lower end hardware such as the Terramaster unit I’m using.

This video is part of the Ultimate Home Server Megaproject

Contents

Video

Video Thumbnail

Cockpit Setup

I started with Debian 11 (Bullseye), although 12 (Bookworm) has now released and you should use that instead.

In the video I described how to add the bullseye-backports repository to /etc/apt/sources.list, however, as of the release of Bookworm this is no longer necesary to do. We also no longer need to specify the repository during installation, as it’s part of the normal Bookworm repos.

So here’s the command to install Cockpit:

apt install --no-install-recommends cockpit -y

After Cockpit is installed, we can allow root access (temporarily, while we setup more users). To do that, edit /etc/cockpit/disallowed-users and comment out the entry root.

At this point, you can connect to cockpit at https://:9090 and login with your root credentials, and it should work.

Cockpit Modules

Next, install the three modules from 45Drives:

As of this last update, here are the commands to download and install the most recent versions. Make sure you update these with the latest versions before you download!

#Download Cockpit File Sharing
wget https://github.com/45Drives/cockpit-file-sharing/releases/download/v3.3.4/cockpit-file-sharing_3.3.4-1focal_all.deb
#Download Cockpit Navitator
wget https://github.com/45Drives/cockpit-navigator/releases/download/v0.5.10/cockpit-navigator_0.5.10-1focal_all.deb
#Download Cockpit Identities
wget https://github.com/45Drives/cockpit-identities/releases/download/v0.1.12/cockpit-identities_0.1.12-1focal_all.deb
#Install them
apt install ./*.deb
#It will complain about being unable to delete the deb files, so we will do that now
rm ./*.deb