* feat: add Docker-based tool addons for dockge, komodo, dokploy, npmplus Create addon scripts following the arcane.sh pattern for Docker-based tools that can be installed on any existing Docker LXC: - dockge: Docker Compose stack manager (port 5001) - komodo: Build/deployment system with MongoDB/FerretDB (port 9120) - dokploy: PaaS via external installer with Redis (port 3000) - npmplus: Nginx Proxy Manager Plus via Compose (port 81) Each addon includes: - Docker availability check - Install with full configuration - Update via docker compose pull - Uninstall with container cleanup - ASCII header files Original ct/ and install/ scripts are preserved for now. * refactor: convert Docker tools to addons, remove old scripts Convert dockge, komodo, dokploy, coolify from standalone ct/install scripts to addon pattern (like arcane.sh). Added: - tools/addon/dockge.sh (port 5001) - tools/addon/komodo.sh (port 9120, MongoDB/FerretDB choice) - tools/addon/dokploy.sh (port 3000, external installer) - tools/addon/coolify.sh (port 8000, external installer) - tools/headers/ for all 4 Removed: - ct/dockge.sh, ct/komodo.sh, ct/alpine-komodo.sh, ct/dokploy.sh, ct/coolify.sh - install/dockge-install.sh, install/komodo-install.sh, install/alpine-komodo-install.sh - install/dokploy-install.sh, install/coolify-install.sh - frontend/public/json/ for dockge, komodo, dokploy, coolify - tools/addon/npmplus.sh (not an addon candidate) These tools are Docker-only and fit the addon pattern: they require an existing Docker LXC and manage containers via docker compose. * feat: add addon JSON configs for dockge, komodo, dokploy, coolify Recreate JSON configs with type=addon, script paths pointing to tools/addon/*.sh, null resources (addon runs on existing Docker LXC), and update instructions in notes. * feat: add Runtipi addon + upgrade all addons with Proxmox host check, optional Docker install, Alpine support - New: tools/addon/runtipi.sh with full Alpine support (gcompat for musl) - New: tools/headers/runtipi ASCII header - Updated: runtipi.json to addon type with null resources - Removed: ct/runtipi.sh, install/runtipi-install.sh (migrated to addon) - All addons (dockge, komodo, dokploy, coolify, runtipi) now have: - check_proxmox_host(): warns when running on PVE host, default N - check_or_install_docker(): optional Docker install (Debian+Alpine) - Alpine-aware curl bootstrap and dependency installation * readd ct, update information * Create runtipi.sh * refactor: remove inline header_info from addons, use core.func get_header() - get_header() in core.func now maps APP_TYPE=addon to tools/headers/ path - Removed 5 duplicate ASCII art header_info functions from addon scripts - Addons now use the shared header_info() from core.func + tools/headers/ files * chore(tools): add Github source links to dockge, komodo, dokploy, coolify, runtipi addons * fix(runtipi): drop Alpine support; add OS compat notes to docker addon JSONs
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/3AnUqsXnmK
- 📝 Change Log: https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md
Made with ❤️ by the Community-Scripts team and contributors