https://github.com/tnt1232007/setup-proxmox
Shell scripts to setup proxmox and create new vm/lxc
https://github.com/tnt1232007/setup-proxmox
debian linux macos proxmox shell ubuntu windows
Last synced: 2 months ago
JSON representation
Shell scripts to setup proxmox and create new vm/lxc
- Host: GitHub
- URL: https://github.com/tnt1232007/setup-proxmox
- Owner: tnt1232007
- Created: 2025-02-20T12:29:39.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-02T16:11:17.000Z (11 months ago)
- Last Synced: 2025-08-02T18:31:52.295Z (11 months ago)
- Topics: debian, linux, macos, proxmox, shell, ubuntu, windows
- Language: Shell
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Proxmox Setup Scripts
This repository contains scripts to automate the setup of virtual machines and LXC containers on Proxmox. Each script is designed for a specific operating system.
## Linux Batch - `vm-linux-batch.sh`
This interactive script allows you to batch create, configure, delete, and manage multiple Linux VMs from a template using a menu-driven interface.
### USAGE
```bash
bash vm-linux-batch.sh
```
### FEATURES
- **Create VMs:** Clone and set up all VMs from a template with predefined configurations.
- **Configure VMs:** Start VMs, push SSH keys, and perform special configuration (e.g., kernel changes for specific VMs).
- **Delete VMs:** Stop and destroy all managed VMs.
- **Run Script:** Execute a custom or preset bash script in all VMs.
- **VM List:** View live status, memory, disk, MAC, and IP for all managed VMs.
### EXAMPLE
```
curl -fsSL https://url.trinitro.io/promox-vm-linux-batch-setup | bash
======= Proxmox VM Batch Executor ========
🚀 VM List:
... (table of VMs) ...
==========================================
🤖 Choose an action:
1) 🆕 Create VMs - Clone and set up all VMs from template.
2) 🛠️ Configure VMs - Setup SSH key and configure special VMs.
3) 🗑️ Delete VMs - Stop and destroy all VMs.
4) 📝 Run Script - Run a custom bash command in all VMs.
5) 🚪 Exit - Quit this menu.
===========================================
```
## Linux - `vm-linux.sh`
This script sets up a Linux (Alpine/Debian/Ubuntu) virtual machine.
### USAGE
```bash
bash vm-linux.sh [OPTIONS]
```
### OPTIONS
- ``: The unique ID of the VM (required).
- `--os `: The name of the operating system (required, alpine/debian/ubuntu).
- `--ver `: The version of the operating system (optional, default=latest).
- `--core `: Number of CPU cores for the VM (optional, default=8).
- `--ram `: Amount of RAM for the VM in MB (optional, default=8192).
- `--disk `: Disk size for the VM (optional, default=80G).
- `--noop`: Perform a noop run without making any changes (optional).
### EXAMPLE
```bash
bash vm-linux.sh 999 --os alpine --ver 3.21 --core 4 --ram 4096 --disk 40G --noop
wget -qO- https://raw.githubusercontent.com/tnt1232007/setup-proxmox/refs/heads/main/vm-linux.sh | bash -s -- 999 --os ubuntu
```
## Windows - `vm-windows.sh`
This script sets up a Windows virtual machine.
### USAGE
```bash
bash vm-windows.sh [OPTIONS]
```
### OPTIONS
- ``: The unique ID of the VM (required).
- `--ver `: The version of the operating system (optional, default=11).
- `--core `: Number of CPU cores for the VM (optional, default=8).
- `--ram `: Amount of RAM for the VM in MB (optional, default=8192).
- `--disk `: Disk size for the VM (optional, default=80G).
- `--noop`: Perform a noop run without making any changes (optional).
### EXAMPLE
```bash
bash vm-windows.sh 999 --ver 11 --core 4 --ram 4096 --disk 40G --noop
wget -qO- https://raw.githubusercontent.com/tnt1232007/setup-proxmox/refs/heads/main/vm-windows.sh | bash -s -- 999
```
## MacOS - `vm-macos.sh`
This script sets up a macOS virtual machine.
### USAGE
```bash
bash vm-macos.sh [OPTIONS]
```
### OPTIONS
- ``: The unique ID of the VM (required).
- `--ver `: The version of the operating system (optional, default=15).
- `--core `: Number of CPU cores for the VM (optional, default=8).
- `--ram `: Amount of RAM for the VM in MB (optional, default=8192).
- `--disk `: Disk size for the VM (optional, default=80G).
- `--noop`: Perform a noop run without making any changes (optional).
### EXAMPLE
```bash
bash vm-macos.sh 601 --ver 15 --core 8 --ram 8192 --disk 80G --noop
wget -qO- https://raw.githubusercontent.com/tnt1232007/setup-proxmox/refs/heads/main/vm-macos.sh | bash -s -- 601
```
## LXCs - `lxc-pbs.sh` && `lxc-kasm.sh`
These scripts set up LXC containers based on Alpine/Debian/Ubuntu OS.
### USAGE
```bash
bash lxc-pbs.sh [OPTIONS]
bash lxc-kasm.sh [OPTIONS]
```
### OPTIONS
- ``: The unique ID of the LXC container (required).
- `--os `: The name of the operating system (required, alpine/debian/ubuntu).
- `--ver `: The version of the operating system (optional, default=latest).
- `--core `: Number of CPU cores for the LXC container (optional, default=4).
- `--ram `: Amount of RAM for the LXC container in MB (optional, default=4096).
- `--disk `: Disk size for the LXC container (optional, default=40G).
- `--noop`: Perform a noop run without making any changes (optional).
### EXAMPLE
```bash
bash lxc-pbs.sh 999 --os debian --ver 12 --core 4 --ram 4096 --disk 40G --noop
wget -qO- https://raw.githubusercontent.com/tnt1232007/setup-proxmox/refs/heads/main/lxc-kasm.sh | bash -s -- 999 --os ubuntu
```