Install
openclaw skills install 1panel-appstoreCreate 1Panel appstore/local-app installation packages for Dockerized applications from official repositories, Docker images, docker-compose.yml files, or a prepared app spec.
openclaw skills install 1panel-appstorePackage Dockerized applications into the 1Panel appstore/local-app format. Use official application sources for installation details and generate the app package from an intermediate spec.
references/source-policy.md before resolving Docker install details from an app name or repository URL.references/appstore-format.md for 1Panel package rules.references/appspec.md before writing the intermediate spec.references/review-checklist.md before final handoff when you need a packaging checklist./tmp/<app-key>-1panel-appspec.json or a task-specific output directory.scripts/generate_app_package.py --spec <spec.json> --output <output-dir> to create the package.1panel-network.${CONTAINER_NAME} for the primary service container name. Use ${CONTAINER_NAME}-<service> for secondary service container names.PANEL_APP_PORT_HTTP for the primary web port. Use PANEL_APP_PORT_<PURPOSE> for additional ports.${...} variable in docker-compose.yml must be declared in version data.yml, except known 1Panel-provided values such as ${CONTAINER_NAME} and service-derived ${PANEL_DB_PORT}.data.yml form fields. Use password fields for secrets../data:/app/data.README.md in the concise existing appstore style: ## 产品介绍 and, when useful, ## 主要功能. Generate README_en.md with ## Introduction and ## Features when the upstream application website, repository README, or app UI supports English.additionalProperties.description and every version data.yml form field label. Use the appstore language set en, es-es, ja, ms, pt-br, ru, ko, zh-Hant, zh, and tr.Dockerfile USER, official Compose user:, image docs, or installation docs as evidence. If the mounted directory must be writable by a non-root UID/GID, add an init_permissions or service volume_permissions entry so scripts/init.sh fixes ownership before startup.init.sh content must be based on official application sources. Use init_source_evidence to record the official file or documentation that supports every generated init action.init_commands only when official install docs require a host-side preflight step. Keep the script minimal..gitkeep; use init.sh to change permissions, not as the primary way to create expected directories.scripts/ or scripts/init.sh.scripts/generate_app_package.py
apps/<key>/data.yml, README.md, README_en.md when applicable, logo.png, <version>/data.yml, <version>/docker-compose.yml, and data directories.scripts/validate_app_package.py
When done, report:
/opt/1panel/resource/apps/local/<app-key>.