diff --git a/docs/contribution/CONTRIBUTING.md b/docs/contribution/CONTRIBUTING.md index 96d4dd23b..d2378d59b 100644 --- a/docs/contribution/CONTRIBUTING.md +++ b/docs/contribution/CONTRIBUTING.md @@ -123,11 +123,11 @@ git checkout -b submit/myapp upstream/main # Copy only your files cp ../your-work-branch/ct/myapp.sh ct/myapp.sh -cp ../your-work-branch/install_scripts/myapp-install.sh install_scripts/myapp-install.sh -cp ../your-work-branch/config/myapp.json config/myapp.json +cp ../your-work-branch/install/myapp-install.sh install/myapp-install.sh +cp ../your-work-branch/frontend/public/json/myapp.json frontend/public/json/myapp.json # Commit and verify -git add ct/myapp.sh install_scripts/myapp-install.sh config/myapp.json +git add ct/myapp.sh install/myapp-install.sh frontend/public/json/myapp.json git commit -m "feat: add MyApp" git diff upstream/main --name-only # Should show ONLY your 3 files @@ -142,8 +142,8 @@ Open a Pull Request from `submit/myapp` → `community-scripts/ProxmoxVE/main`. Verify the PR shows ONLY these 3 files: - `ct/myapp.sh` -- `install_scripts/myapp-install.sh` -- `config/myapp.json` +- `install/myapp-install.sh` +- `frontend/public/json/myapp.json` --- diff --git a/docs/contribution/GUIDE.md b/docs/contribution/GUIDE.md index 52d3bcc60..3ca4f43c7 100644 --- a/docs/contribution/GUIDE.md +++ b/docs/contribution/GUIDE.md @@ -53,16 +53,16 @@ git checkout -b add/my-awesome-app # 2. Create application scripts from templates cp docs/contribution/templates_ct/AppName.sh ct/myapp.sh -cp docs/contribution/templates_install/AppName-install.sh install_scripts/myapp-install.sh -cp docs/contribution/templates_json/AppName.json config/myapp.json +cp docs/contribution/templates_install/AppName-install.sh install/myapp-install.sh +cp docs/contribution/templates_json/AppName.json frontend/public/json/myapp.json # 3. Edit your scripts nano ct/myapp.sh -nano install_scripts/myapp-install.sh -nano config/myapp.json +nano install/myapp-install.sh +nano frontend/public/json/myapp.json # 4. Commit and push to your fork -git add ct/myapp.sh install_scripts/myapp-install.sh config/myapp.json +git add ct/myapp.sh install/myapp-install.sh frontend/public/json/myapp.json git commit -m "feat: add MyApp container and install scripts" git push origin add/my-awesome-app @@ -203,7 +203,7 @@ git push origin feat/add-myapp #### Option B: Local Testing on Proxmox Host -```bash +````bash # 1. SSH into Proxmox host ssh root@192.168.1.100 @@ -217,15 +217,25 @@ chmod +x myapp.sh # Edit: curl -s https://raw.githubusercontent.com/YOUR_USERNAME/ProxmoxVE/feat/myapp/... # 5. Run and test +```bash bash myapp.sh # 6. If container created successfully, script is working! -``` +```` -#### Option C: Docker Testing (Without Proxmox) +#### Option C: Using Curl (Recommended for Real Testing) ```bash -# You can test script syntax/functionality locally +# Always test via curl from your fork (GitHub takes 10-30 seconds after push) +git push origin feature/myapp +bash -c "$(curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/ProxmoxVE/main/ct/myapp.sh)" +# This tests the actual GitHub URLs, not local files +``` + +#### Option D: Docker Testing (Without Proxmox) + +```bash +# You can test script syntax/functionality locally (limited) # Note: Won't fully test (no Proxmox, no actual container) # Run ShellCheck @@ -705,9 +715,9 @@ pct exec 100 bash # Verify script handles gracefully # Test 4: Update function -# Create initial container +# Create initial container (via curl from fork) # Wait for new release -# Run update: bash ct/myapp.sh +# Test update: bash -c "$(curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/ProxmoxVE/main/ct/myapp.sh)" # Verify it detects and applies update ``` @@ -815,7 +825,8 @@ Brief description of what this PR adds/fixes - [ ] My code follows the style guidelines - [ ] I have performed a self-review -- [ ] I have tested the script locally +- [ ] I have tested the script via curl from my fork (after git push) +- [ ] GitHub had time to update (waited 10-30 seconds) - [ ] ShellCheck shows no critical warnings - [ ] Documentation is accurate and complete - [ ] I have added/updated relevant documentation diff --git a/docs/contribution/README.md b/docs/contribution/README.md index 1e6c2c1fd..88d8aea76 100644 --- a/docs/contribution/README.md +++ b/docs/contribution/README.md @@ -55,7 +55,7 @@ cp docs/contribution/templates_json/AppName.json frontend/public/json/myapp.json # Edit metadata: name, slug, categories, description, resources, etc. # 9. Test the install script (if you created one) -bash -c "$(curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/ProxmoxVE/main/install_scripts/myapp-install.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/ProxmoxVE/main/install/myapp-install.sh)" # ⏱️ GitHub may take 10-30 seconds to update files - be patient! # 10. Commit ONLY your new files (see Cherry-Pick section below!) diff --git a/docs/contribution/templates_ct/AppName.md b/docs/contribution/templates_ct/AppName.md index 0b0387a1f..b6575c7cf 100644 --- a/docs/contribution/templates_ct/AppName.md +++ b/docs/contribution/templates_ct/AppName.md @@ -149,7 +149,7 @@ fetch_and_deploy_gh_release "myapp" "myapp/repo" "appname.tar.gz" "latest" "/opt 2. **Only add app-specific dependencies** - Don't add ca-certificates, curl, gnupg (handled by build.func) 3. **Test via curl from your fork** - Push first, then: `bash -c "$(curl -fsSL https://raw.githubusercontent.com/YOUR_USERNAME/ProxmoxVE/main/ct/MyApp.sh)"` 4. **Wait for GitHub to update** - Takes 10-30 seconds after git push -5. **Cherry-pick only YOUR files** - Submit only ct/MyApp.sh, install_scripts/MyApp-install.sh, config/myapp.json (3 files) +5. **Cherry-pick only YOUR files** - Submit only ct/MyApp.sh, install/MyApp-install.sh, frontend/public/json/myapp.json (3 files) 6. **Verify before PR** - Run `git diff upstream/main --name-only` to confirm only your files changed --- diff --git a/docs/contribution/templates_install/AppName-install.md b/docs/contribution/templates_install/AppName-install.md index dffdc3855..e64c1806b 100644 --- a/docs/contribution/templates_install/AppName-install.md +++ b/docs/contribution/templates_install/AppName-install.md @@ -16,8 +16,8 @@ 1. **Copy the Modern Template:** ```bash - cp templates_install/AppName-install.sh install_scripts/MyApp-install.sh - # Edit install_scripts/MyApp-install.sh + cp templates_install/AppName-install.sh install/MyApp-install.sh + # Edit install/MyApp-install.sh ``` 2. **Key Pattern:** @@ -177,9 +177,9 @@ npm install --no-save See working examples: -- [Trip](https://github.com/community-scripts/ProxmoxVE/blob/main/install_scripts/trip-install.sh) -- [Thingsboard](https://github.com/community-scripts/ProxmoxVE/blob/main/install_scripts/thingsboard-install.sh) -- [UniFi](https://github.com/community-scripts/ProxmoxVE/blob/main/install_scripts/unifi-install.sh) +- [Trip](https://github.com/community-scripts/ProxmoxVE/blob/main/install/trip-install.sh) +- [Thingsboard](https://github.com/community-scripts/ProxmoxVE/blob/main/install/thingsboard-install.sh) +- [UniFi](https://github.com/community-scripts/ProxmoxVE/blob/main/install/unifi-install.sh) --- diff --git a/docs/contribution/templates_json/AppName.md b/docs/contribution/templates_json/AppName.md index 92f870bfa..d77823c38 100644 --- a/docs/contribution/templates_json/AppName.md +++ b/docs/contribution/templates_json/AppName.md @@ -1,6 +1,6 @@ # JSON Metadata Files - Quick Reference -The metadata file (`config/myapp.json`) tells the web interface how to display your application. +The metadata file (`frontend/public/json/myapp.json`) tells the web interface how to display your application. --- @@ -10,7 +10,7 @@ The metadata file (`config/myapp.json`) tells the web interface how to display y [https://community-scripts.github.io/ProxmoxVE/json-editor](https://community-scripts.github.io/ProxmoxVE/json-editor) 1. Enter application details -2. Generator creates `config/myapp.json` +2. Generator creates `frontend/public/json/myapp.json` 3. Copy the output to your contribution --- @@ -124,9 +124,9 @@ Each installation method specifies resource requirements: See actual examples in the repo: -- [config/trip.json](https://github.com/community-scripts/ProxmoxVE/blob/main/config/trip.json) -- [config/thingsboard.json](https://github.com/community-scripts/ProxmoxVE/blob/main/config/thingsboard.json) -- [config/unifi.json](https://github.com/community-scripts/ProxmoxVE/blob/main/config/unifi.json) +- [frontend/public/json/trip.json](https://github.com/community-scripts/ProxmoxVE/blob/main/frontend/public/json/trip.json) +- [frontend/public/json/thingsboard.json](https://github.com/community-scripts/ProxmoxVE/blob/main/frontend/public/json/thingsboard.json) +- [frontend/public/json/unifi.json](https://github.com/community-scripts/ProxmoxVE/blob/main/frontend/public/json/unifi.json) ---