From bc3e2ec358a7d877a356aa4da6104ec30b9bd5ff Mon Sep 17 00:00:00 2001 From: MacRimi Date: Mon, 29 Sep 2025 17:46:37 +0200 Subject: [PATCH] Update AppImage --- AppImage/README.md | 37 ------------------------ AppImage/components/system-overview.tsx | 8 ++--- AppImage/next.config.mjs | 12 -------- AppImage/public/apple-touch-icon.png | Bin 0 -> 4035 bytes AppImage/public/manifest.json | 9 ++---- AppImage/scripts/build_appimage.sh | 36 +++++++++++++++++++---- 6 files changed, 36 insertions(+), 66 deletions(-) create mode 100644 AppImage/public/apple-touch-icon.png diff --git a/AppImage/README.md b/AppImage/README.md index b9a3f52..7c4a831 100644 --- a/AppImage/README.md +++ b/AppImage/README.md @@ -20,40 +20,3 @@ A modern, responsive dashboard for monitoring Proxmox VE systems built with Next - **UI Components**: Radix UI primitives with shadcn/ui - **Backend**: Flask server for system data collection - **Packaging**: AppImage for easy distribution - -## Development - -\`\`\`bash -# Install dependencies -npm install - -# Start development server -npm run dev - -# Build for production -npm run build -\`\`\` - -## Building AppImage - -\`\`\`bash -# Make build script executable -chmod +x scripts/build_appimage.sh - -# Build AppImage -./scripts/build_appimage.sh -\`\`\` - -## Translation Support - -The project includes a translation system for multi-language support: - -\`\`\`bash -# Build translation AppImage -chmod +x scripts/build_translate_appimage.sh -./scripts/build_translate_appimage.sh -\`\`\` - -## License - -MIT License - see LICENSE file for details. diff --git a/AppImage/components/system-overview.tsx b/AppImage/components/system-overview.tsx index b4f85c6..ce53581 100644 --- a/AppImage/components/system-overview.tsx +++ b/AppImage/components/system-overview.tsx @@ -60,8 +60,8 @@ export function SystemOverview() { const fetchSystemData = async () => { try { - console.log("[v0] Fetching system data from API...") - const response = await fetch("/api/system", { + console.log("[v0] Fetching system data from Flask server...") + const response = await fetch("http://localhost:8008/api/system", { method: "GET", headers: { Accept: "application/json", @@ -124,8 +124,8 @@ export function SystemOverview() { const fetchVMData = async () => { try { - console.log("[v0] Fetching VM data from API...") - const response = await fetch("/api/vms", { + console.log("[v0] Fetching VM data from Flask server...") + const response = await fetch("http://localhost:8008/api/vms", { method: "GET", headers: { Accept: "application/json", diff --git a/AppImage/next.config.mjs b/AppImage/next.config.mjs index ac0b84b..87f06dd 100644 --- a/AppImage/next.config.mjs +++ b/AppImage/next.config.mjs @@ -25,18 +25,6 @@ const nextConfig = { } return config; }, - async headers() { - return [ - { - source: '/api/:path*', - headers: [ - { key: 'Access-Control-Allow-Origin', value: '*' }, - { key: 'Access-Control-Allow-Methods', value: 'GET, POST, PUT, DELETE, OPTIONS' }, - { key: 'Access-Control-Allow-Headers', value: 'Content-Type, Authorization' }, - ], - }, - ]; - }, }; export default nextConfig; diff --git a/AppImage/public/apple-touch-icon.png b/AppImage/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fcdbf439a9c8b6135401671cfda50416c3293af9 GIT binary patch literal 4035 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