A modern web-based management interface for Proxmox VE (PVE) helper scripts. This tool provides a user-friendly way to discover, download, and execute community-sourced Proxmox scripts locally with real-time terminal output streaming. No more need for curl -> bash calls, it all happens in your enviroment.
This application can be deployed in multiple ways to suit different environments:
- π¦ Debian LXC Container: Deploy inside a Debian LXC container for better isolation
- β‘ Quick Install: Use the automated
install.sh
script for easy setup or use the helper-script.
All deployment methods provide the same functionality and web interface.
- Web-based Interface: Modern React/Next.js frontend with real-time terminal emulation
- Script Discovery: Browse and search through community Proxmox scripts from GitHub
- One-Click Execution: Run scripts directly from the web interface with live output
- Real-time Terminal: Full terminal emulation with xterm.js for interactive script execution
- Script Management: Download, update, and manage local script collections
- Security: Sandboxed script execution with path validation and time limits
- Database Integration: PostgreSQL backend for script metadata and execution history
- WebSocket Communication: Real-time bidirectional communication for script execution
- Next.js 15 with React 19
- TypeScript for type safety
- Tailwind CSS for styling
- xterm.js for terminal emulation
- tRPC for type-safe API communication
- Node.js server with WebSocket support
- WebSocket Server for real-time script execution
- Script Downloader Service for GitHub integration
- Core Functions: Shared utilities and build functions
- Container Scripts: Pre-configured LXC container setups
- Installation Scripts: System setup and configuration tools
- SQLite Database: Local database stored at
data/settings.db
- Server Management: Stores Proxmox server configurations and credentials
- Automatic Setup: Database and tables are created automatically on first run
- Data Persistence: Settings persist across application restarts
- Node.js 22+ and npm
- Git for cloning the repository
- Proxmox VE environment (host or access to Proxmox cluster)
- SQLite (included with Node.js better-sqlite3 package)
- Debian LXC container (Debian 11+ recommended)
- build-essentials:
apt install build-essential
- Container with sufficient resources (2GB RAM, 4GB storage minimum)
- Network access from container to Proxmox host
- Optional: Privileged container for full Proxmox integration
Choose the installation method that best fits your environment:
Run this command directly on your Proxmox VE host or on any Debian based lxc:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE-Local/main/install.sh)"
What the script does:
- β Installs required dependencies (build-essential, git, Node.js 24.x)
- β
Clones the repository into
/opt/PVESciptslocal
(or your chosen path) - β Runs npm install and builds the project
- β
Sets up
.env
from.env.example
if missing - β
Creates database directory (
data/
) for SQLite storage - β
Creates a systemd service (
pvescriptslocal.service
) for easy management
After installation:
- π Access the app at:
http://<YOUR_LXC_IP>:3000
- π§ Manage the service with:
systemctl start pvescriptslocal systemctl stop pvescriptslocal systemctl status pvescriptslocal
For better isolation and security, you can run PVE Scripts Local inside a Debian LXC container:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/debian.sh)"
Then run the installer:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE-Local/main/install.sh)"
# Enter the container
pct enter 100
# Update and install dependencies
apt update && apt install -y build-essential git curl
# Install Node.js 24.x
curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
apt install -y nodejs
# Clone the repository
git clone https://github.com/community-scripts/ProxmoxVE-Local.git /opt/PVESciptslocal
cd PVESciptslocal
# Install dependencies and build
npm install
cp .env.example .env
npm run build
# Create database directory
mkdir -p data
chmod 755 data
# Start in production mode
npm start
# Or create a systemd service (optional)
# Follow the same systemd setup as the install.sh script
Access the application:
- π Container IP:
http://<CONTAINER_IP>:3000
- π§ Container management:
pct start 100
,pct stop 100
,pct status 100
This creates the LXC and installs the APP for you.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/pve-scripts-local.sh)"
The web interface is accessible regardless of your deployment method:
- LXC Container Installation:
http://<CONTAINER_IP>:3000
- Custom Installation:
http://<YOUR_IP>:3000
# Start the service
systemctl start pvescriptslocal
# Stop the service
systemctl stop pvescriptslocal
# Check service status
systemctl status pvescriptslocal
# Enable auto-start on boot
systemctl enable pvescriptslocal
# View service logs
journalctl -u pvescriptslocal -f
# Start application
npm start
# Development mode
npm run dev:server
# Build for production
npm run build
- The main page displays a grid of available Proxmox scripts
- Use the search functionality to find specific scripts
- Scripts are categorized by type (containers, installations, etc.)
- Click on any script card to view details
- Use the "Download" button to fetch scripts from the ProxmoxVE GitHub
- Downloaded scripts are stored locally in the
scripts/
directory
- Click "Run Script" on any downloaded script
- A terminal window will open with real-time output
- Interact with the script through the web terminal
- Use the close button to stop execution
- View script execution history
- Update scripts to latest versions
- Manage local script collections
The application uses SQLite for storing server configurations:
- Database Location:
data/settings.db
- Automatic Creation: Database and tables are created on first run
- Server Storage: Proxmox server credentials and configurations
- Backup: Copy
data/settings.db
to backup your server configurations - Reset: Delete
data/settings.db
to reset all server configurations
PVESciptslocal/
βββ scripts/ # Script collection
β βββ core/ # Core utility functions
β β βββ build.func # Build system functions
β β βββ tools.func # Tool installation functions
β β βββ create_lxc.sh # LXC container creation
β βββ ct/ # Container templates
β βββ install/ # Installation scripts
βββ src/ # Source code
β βββ app/ # Next.js app directory
β β βββ _components/ # React components
β β βββ page.tsx # Main page
β βββ server/ # Server-side code
β βββ database.js # SQLite database service
β βββ services/ # Business logic services
βββ data/ # Database storage
β βββ settings.db # SQLite database file
βββ public/ # Static assets
βββ server.js # Main server file
βββ package.json # Dependencies and scripts
- Node.js 22+
- Git
# Install dependencies
npm install
npm run dev:server
- Frontend: React components in
src/app/_components/
- Backend: Server logic in
src/server/
- API: tRPC routers for type-safe API communication
- Scripts: Bash scripts in
scripts/
directory
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Note: This is beta software. Use with caution in production environments and always backup your Proxmox configuration before running scripts.