- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS
- Build Tool: Vite
- State Management: TanStack React Query
- VNC Client: noVNC 1.3.0
- HTTP Client: Axios
- Node.js (version 18 or higher recommended)
- npm or yarn package manager
- Proxmox VE server
git clone <your-repository-url>
cd proxmox-frontendnpm installnpm run devThe application will be available at http://localhost:5173/
npm run buildnpm run previewFor quick setup after cloning:
npm install && npm uninstall @novnc/novnc && npm install @novnc/novnc@1.3.0 && npm run devnpm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- Ensure your Proxmox server allows CORS requests from your frontend domain.
- edit /etc/lvm/lvm.conf on the host:
Un-Comment and set the following:
thin_pool_autoextend_threshold = 75 thin_pool_autoextend_percent = 20 }
If you encounter top-level await errors, run:
npm uninstall @novnc/novnc
npm install @novnc/novnc@1.3.0If you encounter errors related to top-level await in noVNC:
-
Solution: Use noVNC version 1.3.0
npm uninstall @novnc/novnc npm install @novnc/novnc@1.3.0
-
Prevention: Pin the version in
package.json:{ "dependencies": { "@novnc/novnc": "1.3.0" } }
If you encounter dependency issues:
# Clear npm cache
npm cache clean --force
# Remove node_modules and reinstall
rm -rf node_modules package-lock.json
npm installnpm install react-icons
Check your Node.js version:
node --version # Should be 18+
npm --versionNote: This project requires a running Proxmox VE server and proper network configuration for API access and VNC connections.