Update contribution docs for new file structure

Updated documentation to reflect the migration of install scripts from install_scripts/ to install/, and JSON metadata from config/ to frontend/public/json/. Adjusted all relevant paths, instructions, and examples to match the new directory structure for improved clarity and consistency.
This commit is contained in:
CanbiZ
2026-01-18 18:25:08 +01:00
parent e72c7d8f7f
commit 959bbb3a26
6 changed files with 40 additions and 29 deletions

View File

@@ -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`
---

View File

@@ -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

View File

@@ -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!)

View File

@@ -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
---

View File

@@ -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)
---

View File

@@ -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)
---