mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-17 07:23:00 +01:00
161 lines
5.0 KiB
Markdown
161 lines
5.0 KiB
Markdown
# Website Metadata - Quick Reference
|
||
|
||
Metadata (name, slug, description, logo, categories, etc.) controls how your application appears on the website. You do **not** add JSON files to the repo — you request changes via the website.
|
||
|
||
---
|
||
|
||
## How to Request or Update Metadata
|
||
|
||
1. **Go to the script on the website** — Open the [ProxmoxVE website](https://community-scripts.github.io/ProxmoxVE/), find your script (or the script you want to update).
|
||
2. **Press the "Report issue" button** on that script’s page.
|
||
3. **Follow the guide** — The flow will walk you through submitting or updating metadata.
|
||
|
||
---
|
||
|
||
## Metadata Structure (Reference)
|
||
|
||
The following describes the structure of script metadata used by the website. Use it as reference when filling out the form or describing what you need.
|
||
|
||
```json
|
||
{
|
||
"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:
|
||
|
||
```json
|
||
"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
|
||
|
||
- `0` Miscellaneous
|
||
- `1` Proxmox & Virtualization
|
||
- `2` Operating Systems
|
||
- `3` Containers & Docker
|
||
- `4` Network & Firewall
|
||
- `5` Adblock & DNS
|
||
- `6` Authentication & Security
|
||
- `7` Backup & Recovery
|
||
- `8` Databases
|
||
- `9` Monitoring & Analytics
|
||
- `10` Dashboards & Frontends
|
||
- `11` Files & Downloads
|
||
- `12` Documents & Notes
|
||
- `13` Media & Streaming
|
||
- `14` \*Arr Suite
|
||
- `15` NVR & Cameras
|
||
- `16` IoT & Smart Home
|
||
- `17` ZigBee, Z-Wave & Matter
|
||
- `18` MQTT & Messaging
|
||
- `19` Automation & Scheduling
|
||
- `20` AI / Coding & Dev-Tools
|
||
- `21` Webservers & Proxies
|
||
- `22` Bots & ChatOps
|
||
- `23` Finance & Budgeting
|
||
- `24` Gaming & Leisure
|
||
- `25` Business & ERP
|
||
|
||
---
|
||
|
||
## Best Practices
|
||
|
||
1. **Use the JSON Generator** - It validates structure
|
||
2. **Keep descriptions short** - 100 characters max
|
||
3. **Use real resource requirements** - Based on your testing
|
||
4. **Include sensible defaults** - Pre-filled in install_methods
|
||
5. **Slug must be lowercase** - No spaces, use hyphens
|
||
|
||
---
|
||
|
||
## See Examples on the Website
|
||
|
||
View script pages on the [ProxmoxVE website](https://community-scripts.github.io/ProxmoxVE/) to see how metadata is displayed for existing scripts.
|
||
|
||
---
|
||
|
||
## Need Help?
|
||
|
||
- **Request metadata** — Use the Report issue button on the script’s page on the website (see [How to Request or Update Metadata](#how-to-request-or-update-metadata) above).
|
||
- **[JSON Generator](https://community-scripts.github.io/ProxmoxVE/json-editor)** - Reference only; structure validation
|
||
- **[README.md](../README.md)** - Full contribution workflow
|