Proxmox: LXC Using External Templates

In this post, I show you how to create Linux Containers using alternative container template registries.
Proxmox: LXC Using External Templates
In: Proxmox, Home Lab, Linux

LXC the Typical Way

Typically in Proxmox, you would create a Linux Container by first updating the database using this command in PVE:

pveam update

Update the Linux Container database

Then, you'd choose your designated storage volume for Linux Container templates, for example:

Finally, you'd browse the list of Linux Container templates and download your preferred image:

From there, when you go to create a new container, you choose your downloaded image as the base and proceed with your installation.





Using External Templates

Why would you want to do this?
It's fair to say that the list of container templates in PVE is extensive, containing most of the common Linux distributions; as well as a lengthy list of TurnKey images.

However, there are other image repositories that make available many more options for your Linux Container needs. Here is a couple for starters:

Using the Linux Mint base as an example, here is how you would use that to create Linux Containers in Proxmox.



Considerations

Managed vs. Unmanaged Containers

That there is a list of official containers supported by Proxmox is not for nothing. These are containers that the developers have added to tightly integrate with the Linux Container subsystem in Proxmox.

Proxmox VE tries to detect the Linux distribution in the container, and modifies some files. Here is a short list of things done at container startup...
Linux Container - Proxmox VE
Most modifications are OS dependent, so they differ between different distributions and versions. You can completely disable modifications by manually setting the ostype to unmanaged.

If you use one of the container templates in the links mentioned above, you may want to ensure the proper ostype is set in /etc/pve/lxc/<ct-id>.conf.





Choose Your Image Base

Proceed through the following order directories: Mint > {VERSION_NAME} > amd64 > default > {DATE}. From my research, the difference between cloud and default is one contains support for cloud-init while the other doesn't.



Download the Image to Proxmox

We want the rootfs.tar.xz file from the directory listing.

Right-click and 'Copy link address'
Open up the 'CT Templates' menu
Click 'Download from URL'

Paste the URL into the URL field and click the Query URL button to populate the

Before
After

Add some context, since you probably won't remember which rootfs.tar.xz file this is in the future.

Click 'Download'
'TASK OK' indicates successful download



Create a Container to Test

Click 'Create CT'
Use your base image when creating the container
'TASK OK' indicates the container was created successfully
Start up the container
Login as 'root' with the password or SSH key you specified

More from 0xBEN
Table of Contents
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to 0xBEN.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.