* Update scripts to use Debian 13 and improve update logic Bump default container OS version from Debian 12 to 13 across multiple LXC setup scripts. Refactor update_script functions for consistency, improve messaging, and standardize apt usage. Update Kimai install and update scripts to use setup_php, setup_composer, and fetch_and_deploy_gh_release helpers, and switch from MySQL to MariaDB. Update Kometa to use Python 3.13. Minor improvements to backup, cleanup, and service management steps in several scripts. * Refactor install scripts: unify cleanup and apt usage Replaces repeated apt-get commands with apt for installing dependencies, and consolidates cleanup steps into a single cleanup_lxc function across all install scripts. Also updates repository setup to use setup_deb822_repo where applicable, and makes minor improvements to dependency installation and service setup. * Update default Debian version to 13 and refactor updates Set the default Debian version to 13 across all container scripts. Standardize apt command usage by replacing 'apt-get' with 'apt' where appropriate. Remove redundant cleanup steps from update scripts and streamline update logic for consistency. Also, call 'cleanup_lxc' after 'update_script' in the build function. * Update default OS version to Debian 13 in JSON configs Updated the 'version' field from '12' to '13' for Debian-based install methods across multiple application JSON files. Also set default OS and version for inspircd. This ensures new containers use the latest supported Debian release. * fix kimai Update Check * grammar * Correct typo in success message * Fix typo in success message for update * refactor * fixed jenkins / improve komodo --------- Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
Proxmox VE Helper-Scripts Frontend
🚀 Modern frontend for the Community-Scripts Proxmox VE Helper-Scripts repository
A comprehensive, user-friendly interface built with Next.js that provides access to 300+ automation scripts for Proxmox Virtual Environment management. This frontend serves as the official website for the Community-Scripts organization's Proxmox VE Helper-Scripts repository.
🌟 Features
Core Functionality
- 📜 Script Management: Browse, search, and filter 300+ Proxmox VE scripts
- 📱 Responsive Design: Mobile-first approach with modern UI/UX
- 🔍 Advanced Search: Fuzzy search with category filtering
- 📊 Analytics Integration: Built-in analytics for usage tracking
- 🌙 Dark/Light Mode: Theme switching with system preference detection
- ⚡ Performance Optimized: Static site generation for lightning-fast loading
Technical Features
- 🎨 Modern UI Components: Built with Radix UI and shadcn/ui
- 📈 Data Visualization: Charts and metrics using Chart.js
- 🔄 State Management: React Query for efficient data fetching
- 📝 Type Safety: Full TypeScript implementation
- 🚀 Static Export: Optimized for GitHub Pages deployment
🛠️ Tech Stack
Frontend Framework
- Next.js 15.2.4 - React framework with App Router
- React 19.0.0 - Latest React with concurrent features
- TypeScript 5.8.2 - Type-safe JavaScript
Styling & UI
- Tailwind CSS 3.4.17 - Utility-first CSS framework
- Radix UI - Unstyled, accessible UI components
- shadcn/ui - Re-usable components built on Radix UI
- Framer Motion - Animation library
- Lucide React - Icon library
Data & State Management
- TanStack Query 5.71.1 - Powerful data synchronization
- Zod 3.24.2 - TypeScript-first schema validation
- nuqs 2.4.1 - Type-safe search params state manager
Development Tools
- Vitest 3.1.1 - Fast unit testing framework
- React Testing Library - Simple testing utilities
- ESLint - Code linting and formatting
- Prettier - Code formatting
Additional Libraries
- Chart.js - Data visualization
- Fuse.js - Fuzzy search
- date-fns - Date utility library
- Next Themes - Theme management
🚀 Getting Started
Prerequisites
- Node.js 18+ (recommend using the latest LTS version)
- npm, yarn, pnpm, or bun package manager
- Git for version control
Installation
-
Clone the repository
git clone https://github.com/community-scripts/ProxmoxVE.git cd ProxmoxVE/frontend -
Install dependencies
# Using npm npm install # Using yarn yarn install # Using pnpm pnpm install # Using bun bun install -
Start the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev -
Open your browser
Navigate to http://localhost:3000 to see the application running.
Environment Configuration
The application uses the following environment variables:
BASE_PATH: Set to "ProxmoxVE" for GitHub Pages deployment- Analytics configuration is handled in
src/config/siteConfig.tsx
🧪 Development
Available Scripts
# Development
npm run dev # Start development server with Turbopack
npm run build # Build for production
npm run start # Start production server (after build)
# Code Quality
npm run lint # Run ESLint
npm run typecheck # Run TypeScript type checking
npm run format:write # Format code with Prettier
npm run format:check # Check code formatting
# Deployment
npm run deploy # Build and deploy to GitHub Pages
Development Workflow
-
Feature Development
- Create a new branch for your feature
- Follow the established TypeScript and React patterns
- Use the existing component library (shadcn/ui)
- Ensure responsive design principles
-
Code Standards
- Follow TypeScript strict mode
- Use functional components with hooks
- Implement proper error boundaries
- Write descriptive variable and function names
- Use early returns for better readability
-
Styling Guidelines
- Use Tailwind CSS utility classes
- Follow mobile-first responsive design
- Implement dark/light mode considerations
- Use CSS variables from the design system
-
Testing
- Write unit tests for utility functions
- Test React components with React Testing Library
- Ensure accessibility standards are met
- Run tests before committing
Component Development
The project uses a component-driven development approach:
// Example component structure
import { cn } from "@/lib/utils";
import { Button } from "@/components/ui/button";
interface ComponentProps {
title: string;
className?: string;
}
export const Component = ({ title, className }: ComponentProps) => {
return (
<div className={cn("default-classes", className)}>
<Button>{title}</Button>
</div>
);
};
Configuration for Static Export
The application is configured for static export in next.config.mjs:
const nextConfig = {
output: "export",
basePath: `/ProxmoxVE`,
images: {
unoptimized: true // Required for static export
}
};
🤝 Contributing
We welcome contributions from the community! Here's how you can help:
Getting Started
- Fork the repository on GitHub
- Clone your fork locally
- Create a new branch for your feature or bugfix
- Make your changes following our coding standards
- Submit a pull request with a clear description
Contribution Guidelines
Code Style
- Follow the existing TypeScript and React patterns
- Use descriptive variable and function names
- Implement proper error handling
- Write self-documenting code with appropriate comments
Component Guidelines
- Use functional components with hooks
- Implement proper TypeScript types
- Follow accessibility best practices
- Ensure responsive design
- Use the existing design system components
Pull Request Process
- Update documentation if needed
- Update the README if you've added new features
- Request review from maintainers
Areas for Contribution
- 🐛 Bug fixes: Report and fix issues
- ✨ New features: Enhance functionality
- 📚 Documentation: Improve guides and examples
- 🎨 UI/UX: Improve design and user experience
- ♿ Accessibility: Enhance accessibility features
- 🚀 Performance: Optimize loading and runtime performance
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- tteck - Original creator of the Proxmox VE Helper-Scripts
- Community-Scripts Organization - Maintaining and expanding the project
- Proxmox Community - For continuous feedback and support
- All Contributors - Thank you for your valuable contributions!
📚 Additional Resources
🔗 Links
- 🌐 Live Website: https://community-scripts.github.io/ProxmoxVE/
- 💬 Discord Server: https://discord.gg/2wvnMDgdnU
- 📝 Change Log: https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md
Made with ❤️ by the Community-Scripts team and contributors