mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-05 04:43:26 +01:00
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:
@@ -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`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!)
|
||||
|
||||
@@ -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
|
||||
|
||||
---
|
||||
|
||||
@@ -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)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user