[PR #174] [MERGED] feat: Implement LXC settings #230

Closed
opened 2025-11-20 04:13:39 -05:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE-Local/pull/174
Author: @michelroegl-brunner
Created: 10/17/2025
Status: Merged
Merged: 10/17/2025
Merged by: @michelroegl-brunner

Base: mainHead: feat/lxc_settings


📝 Commits (1)

  • 90c3b28 feat: improve LXC settings modal and fix database issues

📊 Changes

16 files changed (+1425 additions, -51 deletions)

View changed files

prisma/migrations/20251017092130_init/migration.sql (+74 -0)
prisma/migrations/migration_lock.toml (+3 -0)
📝 prisma/schema.prisma (+52 -0)
📝 src/app/_components/HelpModal.tsx (+127 -1)
📝 src/app/_components/InstalledScriptsTab.tsx (+36 -5)
src/app/_components/LXCSettingsModal.tsx (+625 -0)
📝 src/app/api/servers/[id]/public-key/route.ts (+1 -1)
📝 src/app/api/servers/[id]/route.ts (+1 -1)
📝 src/app/api/servers/[id]/test-connection/route.ts (+1 -1)
📝 src/app/api/servers/generate-keypair/route.ts (+1 -1)
📝 src/app/api/servers/route.ts (+1 -1)
📝 src/app/page.tsx (+1 -1)
📝 src/server/api/routers/installedScripts.ts (+434 -37)
📝 src/server/api/routers/servers.ts (+1 -1)
📝 src/server/database-prisma.js (+34 -1)
📝 src/server/database-prisma.ts (+33 -0)

📄 Description

Summary

This PR adds a new LXC settings modal for managing container configurations directly from the web interface.

New Features

LXC Settings Modal

  • Complete LXC configuration management with a user-friendly interface
  • Real-time configuration editing with form validation
  • Sync from server functionality to pull current container settings
  • Save to server with proper confirmation and safety checks
  • Tabbed interface with Common Settings and Advanced Settings sections

🔧 Configuration Management

  • Basic Configuration: Architecture, cores, memory, hostname, OS type, etc.
  • Network Configuration: Interface settings, bridge, MAC address, IP configuration
  • Storage Settings: Root filesystem storage and size configuration
  • Feature Toggles: Keyctl, nesting, FUSE, and additional mount features
  • Advanced Settings: Raw configuration editing for power users

🛡️ Safety Features

  • Confirmation modal with container ID verification before saving
  • Change detection to only enable save when modifications are made
  • Error handling with clear user feedback
  • SSH connection validation before attempting operations

User Experience

  • Intuitive interface with contextual help icons
  • Real-time validation and form state management
  • Loading states and progress indicators
  • Success/error messaging for all operations

Technical Implementation

  • tRPC integration for type-safe API calls
  • Prisma database integration for configuration storage
  • SSH execution for server communication
  • React hooks for state management and side effects

Files Added

  • src/app/_components/LXCSettingsModal.tsx - Main modal component
  • Database schema updates for LXC configuration storage
  • API endpoints for configuration management

This modal provides a complete solution for managing LXC container configurations without needing direct server access.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE-Local/pull/174 **Author:** [@michelroegl-brunner](https://github.com/michelroegl-brunner) **Created:** 10/17/2025 **Status:** ✅ Merged **Merged:** 10/17/2025 **Merged by:** [@michelroegl-brunner](https://github.com/michelroegl-brunner) **Base:** `main` ← **Head:** `feat/lxc_settings` --- ### 📝 Commits (1) - [`90c3b28`](https://github.com/community-scripts/ProxmoxVE-Local/commit/90c3b28a53b57b5f77586a92eb7550c282533892) feat: improve LXC settings modal and fix database issues ### 📊 Changes **16 files changed** (+1425 additions, -51 deletions) <details> <summary>View changed files</summary> ➕ `prisma/migrations/20251017092130_init/migration.sql` (+74 -0) ➕ `prisma/migrations/migration_lock.toml` (+3 -0) 📝 `prisma/schema.prisma` (+52 -0) 📝 `src/app/_components/HelpModal.tsx` (+127 -1) 📝 `src/app/_components/InstalledScriptsTab.tsx` (+36 -5) ➕ `src/app/_components/LXCSettingsModal.tsx` (+625 -0) 📝 `src/app/api/servers/[id]/public-key/route.ts` (+1 -1) 📝 `src/app/api/servers/[id]/route.ts` (+1 -1) 📝 `src/app/api/servers/[id]/test-connection/route.ts` (+1 -1) 📝 `src/app/api/servers/generate-keypair/route.ts` (+1 -1) 📝 `src/app/api/servers/route.ts` (+1 -1) 📝 `src/app/page.tsx` (+1 -1) 📝 `src/server/api/routers/installedScripts.ts` (+434 -37) 📝 `src/server/api/routers/servers.ts` (+1 -1) 📝 `src/server/database-prisma.js` (+34 -1) 📝 `src/server/database-prisma.ts` (+33 -0) </details> ### 📄 Description ## Summary This PR adds a new LXC settings modal for managing container configurations directly from the web interface. ## New Features ### ✨ LXC Settings Modal - **Complete LXC configuration management** with a user-friendly interface - **Real-time configuration editing** with form validation - **Sync from server** functionality to pull current container settings - **Save to server** with proper confirmation and safety checks - **Tabbed interface** with Common Settings and Advanced Settings sections ### 🔧 Configuration Management - **Basic Configuration**: Architecture, cores, memory, hostname, OS type, etc. - **Network Configuration**: Interface settings, bridge, MAC address, IP configuration - **Storage Settings**: Root filesystem storage and size configuration - **Feature Toggles**: Keyctl, nesting, FUSE, and additional mount features - **Advanced Settings**: Raw configuration editing for power users ### 🛡️ Safety Features - **Confirmation modal** with container ID verification before saving - **Change detection** to only enable save when modifications are made - **Error handling** with clear user feedback - **SSH connection validation** before attempting operations ## User Experience - **Intuitive interface** with contextual help icons - **Real-time validation** and form state management - **Loading states** and progress indicators - **Success/error messaging** for all operations ## Technical Implementation - **tRPC integration** for type-safe API calls - **Prisma database** integration for configuration storage - **SSH execution** for server communication - **React hooks** for state management and side effects ## Files Added - `src/app/_components/LXCSettingsModal.tsx` - Main modal component - Database schema updates for LXC configuration storage - API endpoints for configuration management This modal provides a complete solution for managing LXC container configurations without needing direct server access. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2025-11-20 04:13:39 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/ProxmoxVE-Local#230