A collection of tools for Proxmox VE administration, featuring a powerful template manager and customization utilities.
- Download and create VM templates from cloud images
- Support for multiple operating systems:
- Debian (10 Buster, 11 Bullseye, 12 Bookworm)
- Ubuntu (20.04 Focal Fossa, 22.04 Jammy Jellyfish, 24.04 Noble Numbat)
- CentOS Stream (8, 9, 10)
- Rocky Linux (8 Green Obsidian, 9 Blue Onyx, 10)
- AlmaLinux (8, 9, 10)
- FreeBSD (13.4, 14.2 with UFS/ZFS options)
- Cloud-init/Cloudbase-Init support for all templates
- Group operations (download/create all templates for an OS)
- Indonesian mirror support for faster downloads
- Customizable configuration
- Detailed progress tracking and error reporting
- Proxmox theme customization
- Subscription message removal
- Repository configuration for no-subscription usage
- Storage management utilities
- Update system and install required packages:
apt update -y
apt install git vim libguestfs-tools jq wget sudo -y- Clone the repository:
git clone https://github.com/Adekabang/ROSE-pve.git
cd ROSE-pve- Make the script executable:
chmod +x template-manager.sh- Configure your settings (optional):
cp config.conf.example config.conf
vim config.conf# List all available templates
./template-manager.sh list
# List templates for a specific OS
./template-manager.sh list debian
# Show available OS groups
./template-manager.sh groups
# Download a specific template
./template-manager.sh download debian 12
# Create a template
./template-manager.sh create ubuntu 22.04
# Download all templates for an OS
./template-manager.sh download-group debian
# Create all templates for an OS
./template-manager.sh create-group ubuntu
# Use Indonesian mirrors
./template-manager.sh --templates os-templates-id.json download debian 12Run template operations in the background and save logs:
# Download templates in background
nohup ./template-manager.sh download-all &>download.log &
# Create templates in background
nohup ./template-manager.sh create-all &>template.log &
# Download specific OS group in background
nohup ./template-manager.sh download-group debian &>debian-download.log &
# Create specific OS group in background
nohup ./template-manager.sh create-group ubuntu &>ubuntu-template.log &
# Check progress
tail -f download.log # Monitor download progress
tail -f template.log # Monitor template creation progressYou can check the process status using:
jobs # List background jobs
ps aux | grep template-manager.sh # Find running template manager processesEdit config.conf to customize your template settings:
# SSH and Authentication
SSH_KEYFILE="/root/.ssh/authorized_keys" # Path to SSH authorized keys
USERNAME="root" # Default template user
PASSWORD="password" # Default template password
# Proxmox Settings
STORAGE="local" # Storage location for templates
NETWORK="vmbr1" # Network bridge
CPU=1 # Number of CPU cores
MEMORY=512 # Memory in MB
BASE_VMID=4001 # Starting VMID for templates
# System Settings
TIMEZONE="Asia/Jakarta" # Default timezone
NAMESERVER="1.1.1.1 8.8.8.8" # DNS serversApply custom themes to your Proxmox interface:
cd theme-xxx
./changelogo.shFor Debian 11 & 12 based PVE:
./no-subs-repo.sh
./remove-subs-message.shTo remove local-lvm and expand local storage:
- Remove local-lvm from the Datacenter storage configuration
- Execute:
lvremove /dev/pve/data
lvresize -l +100%FREE /dev/pve/root
resize2fs /dev/mapper/pve-root- Create OS user:
adduser --shell /bin/bash <user>
usermod -aG sudo <user>
# Optional: Configure passwordless sudo
echo "<user> ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers- Add user to Proxmox:
pveum user add <user>@pam
pveum user list- Set permissions:
pveum acl modify <PATH> --roles PVEAdmin --users <user>@pamAvailable Roles:
- Administrator
- PVEAdmin
- PVEVMAdmin
- PVEVMUser
- PVEUserAdmin
- PVEDatastoreAdmin
- PVEDatastoreUser
- PVESysAdmin
- PVEPoolAdmin
- PVETemplateUser
- PVEAuditor
- NoAccess (to forbid access)
.
├── template-manager.sh # Template management script
├── os-templates.json # Global mirror templates
├── os-templates-id.json # Indonesian mirror templates
├── config.conf.example # Example configuration
├── config.conf # Your custom configuration (optional)
├── images/ # Downloaded images directory
├── work/ # Temporary working directory
├── theme-xxx/ # Theme customization files
└── scripts/ # Administration utilities
Feel free to submit issues, fork the repository, and create pull requests for any improvements.
List and manage existing templates in your Proxmox system:
# List all existing templates in Proxmox
./template-manager.sh list-existing
# Remove a specific template (will prompt for confirmation)
./template-manager.sh remove 4001
# Remove multiple templates at once
./template-manager.sh remove-multiple 4001 4002 4003The list-existing command shows:
- Template VMID
- Template Name
- Memory allocation
- CPU cores
When removing templates:
- Confirmation is required for safety
- Templates are verified before removal
- Summary of successful/failed removals is provided
- Only actual templates can be removed (VMs are protected)