This repository contains a collection of professional bash scripts for automated LXC container and user management on Proxmox VE. Designed for high efficiency, visual consistency, and easy configuration through a single control center.
- π Integrated with
users.txt: All scripts useusers.txtas the single source of truth for data. - βοΈ Centralized Configuration: Global settings (Template ID, Memory, Storage, etc.) are managed through
config.cfg. - π₯οΈ Interactive UI & Menus: Equipped with interactive menus, premium ANSI colors, and real-time progress bars.
- π οΈ Robust & Safe: Uses
set -euo pipefailand strict regex validation to prevent input errors. - π Summary Reporting: Concise reports (Success/Failed/Skipped) after every operation completes.
| File | Function | Highlighted Features |
|---|---|---|
create.sh |
Bulk Create LXC & Users | Setup Wizard, Manual Input mode, Config Editor |
destroy.sh |
Bulk Remove LXC & Users | Purge logic, Stop-before-delete, Interactive Menu |
pct-control.sh |
Bulk Control (Start/Stop/Restart) | Real-time command output, Status monitor, Progress bar |
auto_boot.sh |
Auto-Boot Management | Enable/Disable bulk mode, Visual status indicators |
config.cfg |
Global Settings | Central configuration for resources and templates |
users.txt |
User Database | List of VMIDs and usernames to be processed |
Make sure you're on a Proxmox node with root access.
git clone https://github.com/FatihSatrio/create-lxc-automation.git
cd create-lxc-automationFill in the users.txt file using the format VMID, Username:
601, user01
602, user02
605, user05
All scripts support both interactive (menu-driven) mode and direct CLI mode.
A. Create Containers & Users
sudo bash create.shB. Start/Stop/Restart Control
sudo bash pct-control.shC. Auto-Boot Management
sudo bash auto_boot.shD. Remove Containers & Users
sudo bash destroy.shYou can edit config.cfg directly or through the Configuration menu inside the create.sh script.
TEMPLATE_ID="999" # Source LXC Template ID
MEMORY="512" # RAM (MB)
DISK_SIZE="3" # Disk (GB)
STORAGE="hdd" # Proxmox storage name
DEFAULT_PASSWORD="..." # Default password for pve users- The script will automatically skip lines in
users.txtthat are invalid or not numeric. - It's recommended to run
statusinpct-control.shfirst to confirm the list of detected containers.
Have an idea for a new feature? Feel free to open an Issue or submit a Pull Request to this repository.
Author: Fatih Satrio (Moon)
Base Logic: MASR170902