This document describes how to use the Dockerized Proxmox Auto Installer image to generate unattended Proxmox VE installation ISOs for multiple profiles (e.g., pve-1
, pve-2
).
Overview
The proxmox-auto-installer
Docker image wraps the official proxmox-auto-install-assistant
tool to convert a standard Proxmox VE ISO into an unattended-install ISO using profile-specific answer.toml
files. By specifying a profile name, you can maintain multiple configurations and generate distinct custom ISOs in a reproducible manner.
Prerequisites
- Docker installed (version 20.10+).
- A Proxmox VE ISO (e.g.,
proxmox-ve_8.4-1.iso
). - Profile directories each containing an
answer.toml
file. - Write permissions for the output directory.
Directory Structure
Scripts/
├── iso/
│ ├── proxmox-ve_8.4-1.iso # Base ISO
│ └── output/ # Generated ISOs
├── secrets/
│ ├── pve-1/
│ │ └── answer.toml # Profile pve-1 settings
│ └── pve-2/
│ └── answer.toml # Profile pve-2 settings
├── Dockerfile # Build definition
└── entrypoint.sh # Profile-aware entrypoint
Building the Docker Image
Run the following command from the directory containing the Dockerfile
and entrypoint.sh
:
docker build -t proxmox-auto-installer .
-t proxmox-auto-installer
tags the image for easy reference.- Ensure
entrypoint.sh
has executable permissions (chmod +x entrypoint.sh
).
Running the ISO Build
5.1. Single Profile
To generate an ISO for a single profile (e.g., pve-1
):
docker run --rm \
-v /home/rohan/Documents/Scripts/iso:/iso:ro \
-v /home/rohan/Documents/Scripts/secrets:/answers:ro \
-v /home/rohan/Documents/Scripts/iso/output:/out \
proxmox-auto-installer:latest \
/iso/proxmox-ve_8.4-1.iso \
pve-1
/iso/...
: read-only mount of base ISO directory/answers/...
: profile directory mount containinganswer.toml
/out/...
: writeable output directory
5.2. Multiple Profiles
Repeat the command for each profile:
for profile in pve-1 pve-2; do
docker run --rm \
-v $PWD/iso:/iso:ro \
-v $PWD/secrets:/answers:ro \
-v $PWD/iso/output:/out \
proxmox-auto-installer:latest \
/iso/proxmox-ve_8.4-1.iso $profile
done
Generated Output
After each run, you will find:
iso/output/proxmox-ve_8.4-1-auto-pve-1.iso
iso/output/proxmox-ve_8.4-1-auto-pve-2.iso
Each ISO is labeled with its profile name.
Troubleshooting
- Missing answer file: Ensure
secrets/<profile>/answer.toml
exists and is readable. - Permission denied: Verify Docker has permissions to read ISO and write output.
proxmox-auto-install-assistant
errors: Run interactively to inspect logs.
Cleanup
To remove the Docker image:
docker rmi proxmox-auto-installer
To clear old ISOs:
rm iso/output/*
FAQ
Q: Can I use a different ISO version?
A: Yes, replace the ISO filename in the run command.
Q: How do I add a new profile?
A: Create a directory under secrets/
(e.g., pve-3/answer.toml
) and rerun.
Q: Can I customize the Dockerfile?
A: Yes, adjust the base image or additional dependencies as needed.