https://github.com/dexon18/proxmox-tool-suite
A Bash script for simplifying Proxmox VE management. This tool offers an interactive menu to handle LXC container tasks (delete, update, clean, trim, and configure bind mounts) and system maintenance (package updates, kernel cleanup). Designed for efficiency and ease of use, itโs customizable to fit your Proxmox environment.
https://github.com/dexon18/proxmox-tool-suite
automation bash-script bash-script-helper bind-mount container-management kernel-cleanup linux lxc lxc-containers proxmox proxmox-ve system-administration tools virtualization
Last synced: about 2 months ago
JSON representation
A Bash script for simplifying Proxmox VE management. This tool offers an interactive menu to handle LXC container tasks (delete, update, clean, trim, and configure bind mounts) and system maintenance (package updates, kernel cleanup). Designed for efficiency and ease of use, itโs customizable to fit your Proxmox environment.
- Host: GitHub
- URL: https://github.com/dexon18/proxmox-tool-suite
- Owner: DeXon18
- License: mit
- Created: 2025-03-09T15:27:15.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T15:38:56.000Z (over 1 year ago)
- Last Synced: 2025-06-02T05:55:04.000Z (about 1 year ago)
- Topics: automation, bash-script, bash-script-helper, bind-mount, container-management, kernel-cleanup, linux, lxc, lxc-containers, proxmox, proxmox-ve, system-administration, tools, virtualization
- Language: Shell
- Homepage: https://dxpro.es
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Proxmox Tool Suite
A Bash script designed to simplify common management tasks for Proxmox VE, focusing on LXC containers and system maintenance. This tool provides an interactive menu with options to delete, update, clean, trim, and configure bind mounts for LXC containers, as well as perform system-level updates and cleanup.
## Features
### LXC Management
- **Delete LXC Containers** (`๐ซ`): Remove selected LXC containers manually or automatically.
- **Update LXC Containers** (`๐`): Update packages in LXC containers based on their OS (supports Alpine, Arch, Fedora, Ubuntu/Debian, OpenSUSE, etc.).
- **Clean LXC Containers** (`๐งน`): Remove unused packages, clear cache, and refresh package lists in LXC containers (Debian/Ubuntu only).
- **Run fstrim on LXC Containers** (`๐พ`): Execute `fstrim` to reclaim unused space in LXC containers.
- **Configure Bind Mount on LXC Containers** (`๐`): Add or update a bind mount (e.g., for shared storage) in selected LXC containers.
### System Maintenance
- **Update Package List** (`๐ฅ`): Run `apt update` on the Proxmox host.
- **Update Full System** (`โฌ๏ธ`): Run `apt update && apt upgrade` on the Proxmox host.
- **Clean System** (`๐๏ธ`): Run `apt autoremove` and `apt autoclean` to clean up the Proxmox host.
- **Clean Old Kernels** (`โ๏ธ`): Remove unused Proxmox kernels and update GRUB.
## Requirements
- Proxmox VE installed.
- Root privileges (run with `sudo`).
- `whiptail` installed for interactive menus (usually included in Proxmox).
## Installation
1. Download the script:
```bash
wget https://raw.githubusercontent.com/YOUR_USERNAME/proxmox-tool-suite/main/proxmox-tools.sh
# Proxmox Tool Suite
A Bash script for managing Proxmox VE LXC containers and system tasks.
## Installation
### Make it executable:
```
chmod +x proxmox-tools.sh
```
### (Optional) Create an alias for easier access:
```
echo "alias ptools='sudo /path/to/proxmox-tools.sh'" >> ~/.bashrc
source ~/.bashrc
```
## Usage
Run the script:
```
sudo ./proxmox-tools.sh
```
Or with the alias:
```
ptools
```
Select an option from the menu using numbers (0-9). Follow the prompts to complete each task. The script returns to the menu after each operation; use `0` to exit.
## Configuration Notes
### Bind Mount Configuration (`HOST_DIR`):
The `configure_bind_mount` function uses a default `HOST_DIR` set to `/mnt/multimedia`. This must match an existing directory on your Proxmox host where your storage is mounted (e.g., `/mnt/ssd/storage`, `/media/data`, etc.).
To find your mount point, run:
```
df -h
```
And adjust `HOST_DIR` in the script:
```
HOST_DIR="/your/mount/point"
```
Example: If your storage is at `/mnt/storage`, edit line ~300 in `proxmox-tools.sh` to:
```
HOST_DIR="/mnt/storage"
```
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contributing
Feel free to submit issues or pull requests to improve this tool!
## Acknowledgments
Inspired by various Proxmox community scripts and enhanced with additional functionality.