Install Alpine Linux in a Proxmox container

4 February 2026

Alpine Linux is a lightweight, security-focused distribution that uses musl, libc, and busybox by default. It is an excellent choice for Proxmox LXC containers when you want minimal resource usage, fast boot times, and a small disk footprint. Choose Alpine for running services like Docker hosts, monitoring tools, or simple servers inside Proxmox.

Proxmox provides official Alpine Linux templates which makes installation straightforward. This guide covers both the GUI method (recommended for most users) and the command-line method using the pct tool.

Prerequisites

  1. A working Proxmox VE installation (version 8.x or later recommended).
  2. Access to the Proxmox web interface (https://your-proxmox-ip:8006) or SSH access to the host as root (or a user with sudo access)
  3. At least one storage location configured for container templates (usually local by default).

Download the Alpine Linux template

Proxmox maintains Alpine templates in its template repository.

Via the Proxmox GUI

  1. Log in to the Proxmox web interface.
  2. Select a node in the left sidebar.
  3. Select local (or your template storage) > Select CT Templates > Press the Templates button.
  4. In the search box, type "alpine" to filter.
  5. Select the latest version (for example, alpine-3.22-default or newer, depending on what is available in your Proxmox version).
  6. Click Download. Wait for the download to finish (the file is typically under 10 MB).
Image
Alpine Linux template download in Proxmox GUI

Via the command line

Run these commands:

pveam update
pveam available | grep alpine

Pick the desired template name (e.g., alpine-3.22-default_YYYYMMDD_amd64.tar.xz), then download it:

pveam download local alpine-3.22-default_YYYYMMDD_amd64.tar.xz

Replace the exact filename based on the output of pveam available.

Image
Output of CLI template download process

Method 1: Install via the Proxmox GUI (easiest)

  1. In the Proxmox web interface, click Create CT (blue button at the top right).
  2. General tab:
    • Enter a Hostname (e.g., alpine-docker).
    • Set a Password for the root user (and/or add an SSH public key if preferred).
    • Choose a numeric CT ID (e.g., 2001).
    • Tip: For better security, use unprivileged containers whenever you can (default in recent Proxmox versions). Alpine works well unprivileged for most use cases.
  3. Template tab: 

    Image
    Template tab of Proxmox container GUI screen
    • Select Storage (usually local by default).
    • Choose the Alpine template you downloaded (e.g., alpine-3.22-default...).
  4. Root Disk tab: 

    Image
    Disks tab of Proxmox container GUI screen
    • Set disk size. Alpine is tiny so 2-4 GB is usually plenty for basic use. Use more if setting up a Docker host.
  5. CPU tab:
    • Assign as many cores as needed. Alpine uses very few resources on its own.
  6. Memory tab: 

    Image
    Memory tab of Proxmox container GUI screen
    • Set configure your RAM and swap memory. Alpine runs well with low RAM, but your application may require much more.
  7. Network tab: 

    Image
    Network tab of Proxmox container GUI screen
    • Choose your bridge.
    • Leave IPv4/IPv6 as DHCP, or configure static if preferred.
  8. DNS tab: 

    Image
    DNS tab of Proxmox container GUI screen
    • Use host settings or specify custom DNS servers.
  9. Confirm tab: 

    Image
    Confirm tab of Proxmox container GUI screen
    • Review options.
    • Check Start after created if you want it to boot immediately.
    • Click Finish.

Proxmox will create and starts the container (if you selected that option).

After creation:

  • Select the new container in the left sidebar.
  • Open the >_ Console tab to access it.
  • Log in as root with the password you set.

Method 2: Install via command line (Using pct)

SSH into your Proxmox host as root.

  1. Ensure the template is downloaded (see Step 1 above).
  2. Create the container with a basic command:

    pct create 2001 truenas:vztmpl/alpine-3.22-default_YYYYMMDD_amd64.tar.xz \
      --hostname alpine-docker \
      --cores 4 \
      --memory 2048 \
      --swap 2048 \
      --storage local-zfs \
      --rootfs local-zfs:32 \
      --net0 name=eth0,bridge=vmbr0,ip=dhcp \
      --unprivileged 1 \
      --features nesting=1 \
      --password yourrootpassword

    Adjust values as needed:

    • 2001: CT ID (choose an unused number).
    • --rootfs local-zfs:32: 32 GB disk on local-zfs storage.
    • --unprivileged 1: Recommended for security.
    • --features nesting=1: Useful if you plan to run Docker inside.
    • Omit --password if using SSH keys later.
  3. Start the container:

    pct start 2001
  4. Enter the container console:

    pct enter 2001

Post-installation

  • Run the alpine-setup script to configure your host:

    alpine-setup
  • Update the system:

    apk update
    apk upgrade

Final thoughts

  • Alpine uses OpenRC by default, so services are managed with rc-update and service.
    • rc-update add servicename boot to enable on boot.
    • service servicename start/stop/restart.
  • To add the community repository for more packages (edit /etc/apk/repositories):

    http://dl-cdn.alpinelinux.org/alpine/v3.21/community

    Then run apk update.

That is it. You now have a clean, efficient Alpine Linux container running in Proxmox, ready for your services.