Bachelor Tech
  • Home
  • Tutorials
  • Tips
  • Portfolio
  • About Jan
  • Contact Jan
LinuxProxmox

How to get LXC containers for Proxmox outside of ready-made templates

by Jan Bachelor October 13, 2025
5.6K views
5.6K
  • Let’s say you want to run Debian 13 (Trixie) but there is no standard template for it in Proxmox. What if you want to run one?
No Debian 13 container in Proxmox library of templates?

LinuxContainers.org for the rescue!

  • Such cases may happen but do not worry, there is a way around it! Simply go to LinuxContainers.org and find your desired one. You will find that the actual image name called ‘rootfs.tar.xz’.
A Debian Trixie LXC available on LinuxContainers.org
  • Head to your Proxmox node and connect to it via shell or via SSH.
  • Go to the following folder and download + rename the CT image:
cd /var/lib/vz/template/cache/
# Replace the URL of the one you are after
wget https://images.linuxcontainers.org/images/debian/trixie/amd64/cloud/20250628_05:24/rootfs.tar.xz
# Rename it to something that makes sense to you:
mv rootfs.tar.xz debian-13-trixie-lxc-2025-06-28.tar.xz
  • Now you could head to Proxmox’s GUI and create the container from there. However, if you are on Proxmox 8 (which is powered by Debian 12) and try creating a CT with Debian 13, you will inevitably hit an issue with the new networking service that is used in Trixie:
Failed installation of Debian 13 from Proxmox 8.4.1 GUI
  • The way around it is to create the container from the Proxmox shell and skipping the networking part initially.
pct create <CT_ID> \
/var/lib/vz/template/cache/debian-13-trixie-lxc-2025-06-28.tar.xz \
--storage <YOUR_STORAGE> \
--rootfs <YOUR_STORAGE>:10 \
--hostname <HOSTNAME> \
--memory 1024 \
--cores 1 \
--password <YOUR_PASSWORD>
--ssh-public-key ~/.ssh/<YOUR_PUB_KEY>
  • Replace the values as follows:
    • <CT_ID> : Choose an available one.
    • <YOUR_STORAGE>: local storage name such as ‘local-lvm’.
    • <HOSTNAME>: of the CT, such as deb13
    • <YOUR_PASSWORD>: root pwd to log in with. Do not use special characters.
    • <YOUR_PUB_KEY>: this parameter is optional, you can skip it if you do not have one.
  • And voila, straight after passing the command, I can see the result in Proxmox’s GUI tab:
Successfully created CT from Proxmox’s shell (skipping network details).
  • When viewing from Proxmox’s web GUI, you will notice that there is not network tab in there:
View of the created CT – no network adapters/settings yet
  • Now we can continue using the Proxmox shell to start the container (or you can do so from the GUI), log into it and create a folder in which the network adapter will be created later.
# Start the container
pct start <CT_ID>

# Enter the container's command line
pct enter <CT_ID>

# Inside the container, create the directory
mkdir /etc/network

# Exit the container's shell
exit

# Shut the container down so we can add the network device
pct shutdown <CT_ID>

# Add a network interface to the container (assuming you use vmbr0 for LAN and are okay with DHCP).
pct set <CT_ID> --net0 name=eth0,bridge=vmbr0,ip=dhcp

# Start the container again
pct start <CT_ID>
pcet enter <CT_ID>

# Switch the network interface on + add DHCP
ip link set eth0 up
dhclient eth0

# Verify connectivity
ip addr | grep eth0

# To make it pernament, run the following:
apt update
apt install ifupdown2
reboot
  • What we did there by creating the folder and assigning the port was to make the generic Debian 13 image compatible with the way Proxmox manages a container’s network configuration – until Proxmox itself gets updated to work with it smoothly.
  • This means that this article may not age well but the idea behind it remains.

Take aways

In summary, you can:

  • Download newest versions of LXC images from trusted sources like LinuxContainers.org
  • You can use the Proxmox shell to circumvent what the GUI cannot do and even create scripted solutions to start/configure/stop containers.
  • Create containers with certain settings missing (like for networking) in case the current version of Proxmox struggles to work with it.

And that is all there to it! You can now use the container as usual.

4 comments 0 FacebookWhatsappEmail
Jan Bachelor

previous post
How to join two Proxmox nodes into a cluster (PVE 8.x)

You may also like

How to join two Proxmox nodes into a cluster (PVE 8.x)

July 11, 2025

How to Rename a Proxmox Node

May 4, 2025

How to mount an NFS share on an Android box

February 3, 2024

4 comments

Raspberry July 29, 2025 - 12:46 pm

Your above commands to “create a folder in which the network adapter will be created later” has a flaw; after line 20; “pct start “, you should then have a command to enter the PCT as is “pct enter “.

Otherwise the subsequent commands are going to be done on the host node itself – which could be disastrous.

Reply
Jan Bachelor October 13, 2025 - 10:34 pm

Hi Raspberry, you are right, I have added the step in there, my apologies for missing it. Jan

Reply
Chet Atkins August 26, 2025 - 7:19 am

This is a great guide. Thank you for covering this method. Any plans for a static IP guide using this method?

Reply
Jan Bachelor October 13, 2025 - 11:31 pm

Hi Chet,

Thank you for your feedback and your question. Yes, you can set up a static IP, and there are two great ways to do it.

A. Within Proxmox for the LXC (Recommended Method)

  1. – Select your LXC container in the Proxmox web interface.
  2. – Go to the Network tab.
  3. – Double-click on the network device (e.g., eth0).
  4. – In the pop-up window, change the “IPv4/CIDR” setting from DHCP to Static.
  5. – Enter the desired IP address with its CIDR notation (e.g., 192.168.1.100/24).
  6. – Enter the Gateway IP address (e.g., 192.168.1.1).
  7. – Click OK and then restart the container for the changes to take effect.

B. From Within the Container’s Command Line

  1. – Access the container’s console from the Proxmox GUI or by running: pct enter <CT_ID>
  2. – Edit the network configuration file with a text editor like nano: nano /etc/network/interfaces
  3. – Modify the file to set the static details. You will change the line for dhcp to static and add the address and gateway info. For example:
# Change this:
auto eth0
iface eth0 inet dhcp
# To this (using your own values):
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
  1. – Save the file, exit the editor, and reboot the container: reboot

While both methods work, I recommend option A for most users because it keeps the network configuration tied to the Proxmox host, making it easier to manage. On the other hand, I personally manage all static IP configuration on OPNsense, hence why the container was set to dhcp.

Thanks again for reading the guide!

Reply

Leave a Comment Cancel Reply

Save my name, email, and website in this browser for the next time I comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Course Steps

Other courses

Create an automated Gravity workflow that will allow...

January 19, 2024

Dynamically Populate Gravity Forms from Google Sheets (GSheets...

March 16, 2021

Concur Alternative: Import Employees’ Credit Card Expenses to...

January 19, 2024

Turn your Raspberry Pi into a Proxmox Backup...

July 13, 2025

Install iRedMail Mail Server As Proxmox VM With...

October 31, 2024

Recent Posts

  • How to get LXC containers for Proxmox outside of ready-made templates

  • How to join two Proxmox nodes into a cluster (PVE 8.x)

  • How to Rename a Proxmox Node

Facebook Twitter Instagram Pinterest Linkedin Youtube

All Rights Reserved. The theme was customized from Soledad, see PenciDesign

Bachelor Tech
  • Home
  • Tutorials
  • Tips
  • Portfolio
  • About Jan
  • Contact Jan