Files
ProxmoxVE/docs/contribution/templates_json/AppName.md
2026-03-13 15:15:21 +01:00

5.0 KiB
Raw Blame History

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, find your script (or the script you want to update).
  2. Press the "Report issue" button on that scripts 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.

{
  "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

  • 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 to see how metadata is displayed for existing scripts.


Need Help?