Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Proxmox LXC Automation Suite

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.


✨ Key Features

  • πŸ”— Integrated with users.txt: All scripts use users.txt as 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 pipefail and strict regex validation to prevent input errors.
  • πŸ“Š Summary Reporting: Concise reports (Success/Failed/Skipped) after every operation completes.

πŸ“‚ File Structure

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

πŸš€ Usage

1. Preparation

Make sure you're on a Proxmox node with root access.

git clone https://github.com/FatihSatrio/create-lxc-automation.git
cd create-lxc-automation

2. Configure the Database

Fill in the users.txt file using the format VMID, Username:

601, user01
602, user02
605, user05

3. Running the Scripts

All scripts support both interactive (menu-driven) mode and direct CLI mode.

A. Create Containers & Users

sudo bash create.sh

B. Start/Stop/Restart Control

sudo bash pct-control.sh

C. Auto-Boot Management

sudo bash auto_boot.sh

D. Remove Containers & Users

sudo bash destroy.sh

πŸ› οΈ Configuration (config.cfg)

You 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

πŸ“ Important Notes

  • The script will automatically skip lines in users.txt that are invalid or not numeric.
  • It's recommended to run status in pct-control.sh first to confirm the list of detected containers.

🀝 Contributing

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

About

πŸš€ Professional bash automation suite for bulk-managing LXC containers and users on Proxmox VE centralized config, interactive menus, and real-time progress reporting.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages