mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-03 20:03:25 +01:00
Revised documentation to standardize use of 'bash docs/contribution/setup-fork.sh --full' for fork configuration, clarified install script execution flow, and updated JSON metadata template and field references. Improved helper function docs, resource requirements, and category lists. Updated references and instructions throughout for consistency and accuracy.
4.8 KiB
4.8 KiB
JSON Metadata Files - Quick Reference
The metadata file (frontend/public/json/myapp.json) tells the web interface how to display your application.
Quick Start
Use the JSON Generator Tool: https://community-scripts.github.io/ProxmoxVE/json-editor
- Enter application details
- Generator creates
frontend/public/json/myapp.json - Copy the output to your contribution
File Structure
{
"name": "MyApp",
"slug": "myapp",
"categories": [1],
"date_created": "2026-01-18",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://docs.example.com/",
"website": "https://example.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/myapp.webp",
"config_path": "/opt/myapp/.env",
"description": "Brief description of what MyApp does",
"install_methods": [
{
"type": "default",
"script": "ct/myapp.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Change the default password after first login!",
"type": "warning"
}
]
}
Field Reference
| Field | Required | Example | Notes |
|---|---|---|---|
name |
Yes | "MyApp" | Display name |
slug |
Yes | "myapp" | URL-friendly identifier (lowercase, no spaces) |
categories |
Yes | [1] | One or more category IDs |
date_created |
Yes | "2026-01-18" | Format: YYYY-MM-DD |
type |
Yes | "ct" | Container type: "ct" or "vm" |
interface_port |
Yes | 3000 | Default web interface port |
logo |
No | "https://..." | Logo URL (64px x 64px PNG) |
config_path |
Yes | "/opt/myapp/.env" | Main config file location |
description |
Yes | "App description" | Brief description (100 chars) |
install_methods |
Yes | See below | Installation resources (array) |
default_credentials |
No | See below | Optional default login |
notes |
No | See below | Additional notes (array) |
Install Methods
Each installation method specifies resource requirements:
"install_methods": [
{
"type": "default",
"script": "ct/myapp.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "13"
}
}
]
Resource Defaults:
- CPU: Cores (1-8)
- RAM: Megabytes (256-4096)
- Disk: Gigabytes (4-50)
Common Categories
0Miscellaneous1Proxmox & Virtualization2Operating Systems3Containers & Docker4Network & Firewall5Adblock & DNS6Authentication & Security7Backup & Recovery8Databases9Monitoring & Analytics10Dashboards & Frontends11Files & Downloads12Documents & Notes13Media & Streaming14*Arr Suite15NVR & Cameras16IoT & Smart Home17ZigBee, Z-Wave & Matter18MQTT & Messaging19Automation & Scheduling20AI / Coding & Dev-Tools21Webservers & Proxies22Bots & ChatOps23Finance & Budgeting24Gaming & Leisure25Business & ERP
Best Practices
- Use the JSON Generator - It validates structure
- Keep descriptions short - 100 characters max
- Use real resource requirements - Based on your testing
- Include sensible defaults - Pre-filled in install_methods
- Slug must be lowercase - No spaces, use hyphens
Reference Examples
See actual examples in the repo:
- frontend/public/json/trip.json
- frontend/public/json/thingsboard.json
- frontend/public/json/unifi.json
Need Help?
- JSON Generator - Interactive tool
- README.md - Full contribution workflow
- Quick Start - Step-by-step guide