mirror of
https://github.com/arch3rPro/1Panel-Appstore.git
synced 2026-04-14 16:07:13 +08:00
- Add skill configuration for generating 1Panel app configs via AI - Include templates for data.yml and docker-compose.yml - Add utility scripts for app generation, icon download, and validation - Provide reference examples and usage documentation - Update .gitignore to exclude .trae directory - Update README.md with skill usage instructions
395 lines
9.1 KiB
Markdown
395 lines
9.1 KiB
Markdown
# 1Panel 应用商店参考示例
|
||
|
||
本文件包含从 1Panel-Appstore 和 appstore 官方仓库提取的实际应用配置示例。
|
||
|
||
## 目录
|
||
|
||
1. [简单单服务应用](#简单单服务应用)
|
||
2. [带数据库的应用](#带数据库的应用)
|
||
3. [多端口应用](#多端口应用)
|
||
4. [多服务应用](#多服务应用)
|
||
5. [常见标签分类](#常见标签分类)
|
||
|
||
---
|
||
|
||
## 简单单服务应用
|
||
|
||
### 示例:AList
|
||
|
||
**目录结构:**
|
||
```
|
||
alist/
|
||
├── logo.png
|
||
├── data.yml # 顶层元数据
|
||
├── README.md
|
||
├── README_en.md
|
||
└── 3.45.0/ # 版本目录
|
||
├── data.yml # 参数定义
|
||
├── docker-compose.yml
|
||
└── data/ # 数据目录
|
||
```
|
||
|
||
**顶层 data.yml:**
|
||
```yaml
|
||
name: AList
|
||
tags:
|
||
- 实用工具
|
||
- 云存储
|
||
title: 支持多存储的文件列表程序和私人网盘
|
||
description: 支持多存储的文件列表程序和私人网盘
|
||
additionalProperties:
|
||
key: alist
|
||
name: AList
|
||
tags:
|
||
- Storage
|
||
- Tool
|
||
shortDescZh: 支持多存储的文件列表程序和私人网盘
|
||
shortDescEn: Supporting multi-storage file listing program and private cloud storage
|
||
description:
|
||
en: Supporting multi-storage file listing program and private cloud storage
|
||
ja: 複数ストレージのファイルリスト表示プログラムとプライベートクラウドストレージのサポート
|
||
ms: Menyokong program senarai fail multi-penyimpanan dan penyimpanan awan peribadi
|
||
pt-br: Suporte para programa de listagem de arquivos em múltiplos armazenamentos e armazenamento em nuvem privado
|
||
ru: Поддержка программы отображения файлов в нескольких хранилищах и частного облачного хранилища
|
||
ko: 다중 저장소 파일 목록 프로그램 및 개인 클라우드 저장소 지원
|
||
zh-Hant: 支援多存儲檔案列出程序和私人雲端空間
|
||
zh: 支持多存储文件列出程序和私有云存储
|
||
type: website
|
||
crossVersionUpdate: true
|
||
limit: 0
|
||
recommend: 65
|
||
website: https://alist.nn.ci/
|
||
github: https://github.com/alist-org/alist
|
||
document: https://alist.nn.ci/zh/guide/
|
||
architectures:
|
||
- amd64
|
||
- arm64
|
||
- arm/v7
|
||
- arm/v6
|
||
- s390x
|
||
```
|
||
|
||
**版本 data.yml(参数定义):**
|
||
```yaml
|
||
additionalProperties:
|
||
formFields:
|
||
- default: 5244
|
||
edit: true
|
||
envKey: PANEL_APP_PORT_HTTP
|
||
labelEn: WebUI Port
|
||
labelZh: 网页端口
|
||
required: true
|
||
rule: paramPort
|
||
type: number
|
||
label:
|
||
en: WebUI Port
|
||
ja: WebUI ポート
|
||
ms: Port WebUI
|
||
pt-br: Porta WebUI
|
||
ru: Порт WebUI
|
||
ko: WebUI 포트
|
||
zh-Hant: WebUI 埠
|
||
zh: WebUI 端口
|
||
- default: 5426
|
||
edit: true
|
||
envKey: PANEL_APP_PORT_S3
|
||
labelEn: S3 Port
|
||
labelZh: S3 端口
|
||
required: true
|
||
rule: paramPort
|
||
type: number
|
||
label:
|
||
en: S3 Port
|
||
ja: S3 ポート
|
||
ms: Port S3
|
||
pt-br: Porta S3
|
||
ru: Порт S3
|
||
ko: S3 포트
|
||
zh-Hant: S3 埠
|
||
zh: S3 端口
|
||
```
|
||
|
||
**docker-compose.yml:**
|
||
```yaml
|
||
services:
|
||
alist:
|
||
container_name: ${CONTAINER_NAME}
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
ports:
|
||
- "${PANEL_APP_PORT_HTTP}:5244"
|
||
- "${PANEL_APP_PORT_S3}:5426"
|
||
volumes:
|
||
- ./data/data:/opt/alist/data
|
||
- ./data/mnt:/mnt/data
|
||
environment:
|
||
- PUID=0
|
||
- PGID=0
|
||
- UMASK=022
|
||
image: xhofe/alist:v3.45.0
|
||
labels:
|
||
createdBy: "Apps"
|
||
networks:
|
||
1panel-network:
|
||
external: true
|
||
```
|
||
|
||
---
|
||
|
||
## 带数据库的应用
|
||
|
||
### 示例:NocoDB(PostgreSQL)
|
||
|
||
**docker-compose.yml:**
|
||
```yaml
|
||
services:
|
||
nocodb:
|
||
container_name: ${CONTAINER_NAME}
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
ports:
|
||
- "${PANEL_APP_PORT_HTTP}:8080"
|
||
volumes:
|
||
- ./data/nocodb:/usr/app/data
|
||
environment:
|
||
- NC_DB=pg://${DB_USER}:${DB_PASSWORD}@db:5432/${DB_NAME}
|
||
- NC_AUTH_JWT_SECRET=${JWT_SECRET}
|
||
depends_on:
|
||
db:
|
||
condition: service_healthy
|
||
image: nocodb/nocodb:0.258.2
|
||
labels:
|
||
createdBy: "Apps"
|
||
db:
|
||
image: postgres:16-alpine
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
volumes:
|
||
- ./data/postgres:/var/lib/postgresql/data
|
||
environment:
|
||
- POSTGRES_DB=${DB_NAME}
|
||
- POSTGRES_USER=${DB_USER}
|
||
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
|
||
interval: 5s
|
||
timeout: 5s
|
||
retries: 5
|
||
networks:
|
||
1panel-network:
|
||
external: true
|
||
```
|
||
|
||
**参数定义:**
|
||
```yaml
|
||
- default: 8080
|
||
edit: true
|
||
envKey: PANEL_APP_PORT_HTTP
|
||
labelEn: Web Port
|
||
labelZh: Web端口
|
||
required: true
|
||
rule: paramPort
|
||
type: number
|
||
- default: nocodb
|
||
edit: true
|
||
envKey: DB_NAME
|
||
labelEn: Database Name
|
||
labelZh: 数据库名称
|
||
required: true
|
||
rule: paramCommon
|
||
type: text
|
||
- default: nocodb
|
||
edit: true
|
||
envKey: DB_USER
|
||
labelEn: Database User
|
||
labelZh: 数据库用户
|
||
required: true
|
||
rule: paramCommon
|
||
type: text
|
||
- default: nocodb_password
|
||
edit: true
|
||
envKey: DB_PASSWORD
|
||
labelEn: Database Password
|
||
labelZh: 数据库密码
|
||
required: true
|
||
rule: paramCommon
|
||
type: password
|
||
```
|
||
|
||
---
|
||
|
||
## 多端口应用
|
||
|
||
### 示例:Nginx Proxy Manager
|
||
|
||
**参数定义:**
|
||
```yaml
|
||
formFields:
|
||
- default: 81
|
||
edit: true
|
||
envKey: PANEL_APP_PORT_HTTP
|
||
labelEn: Admin Port
|
||
labelZh: 管理端口
|
||
required: true
|
||
rule: paramPort
|
||
type: number
|
||
- default: 80
|
||
edit: true
|
||
envKey: PANEL_APP_PORT_NGINX_HTTP
|
||
labelEn: HTTP Port
|
||
labelZh: HTTP端口
|
||
required: true
|
||
rule: paramPort
|
||
type: number
|
||
- default: 443
|
||
edit: true
|
||
envKey: PANEL_APP_PORT_NGINX_HTTPS
|
||
labelEn: HTTPS Port
|
||
labelZh: HTTPS端口
|
||
required: true
|
||
rule: paramPort
|
||
type: number
|
||
```
|
||
|
||
**docker-compose.yml:**
|
||
```yaml
|
||
services:
|
||
app:
|
||
container_name: ${CONTAINER_NAME}
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
ports:
|
||
- "${PANEL_APP_PORT_HTTP}:81"
|
||
- "${PANEL_APP_PORT_NGINX_HTTP}:80"
|
||
- "${PANEL_APP_PORT_NGINX_HTTPS}:443"
|
||
volumes:
|
||
- ./data/data:/data
|
||
- ./data/letsencrypt:/etc/letsencrypt
|
||
image: jc21/nginx-proxy-manager:latest
|
||
labels:
|
||
createdBy: "Apps"
|
||
networks:
|
||
1panel-network:
|
||
external: true
|
||
```
|
||
|
||
---
|
||
|
||
## 多服务应用
|
||
|
||
### 示例:Dify(完整栈)
|
||
|
||
**docker-compose.yml:**
|
||
```yaml
|
||
services:
|
||
api:
|
||
container_name: ${CONTAINER_NAME}
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
ports:
|
||
- "${PANEL_APP_PORT_HTTP}:80"
|
||
volumes:
|
||
- ./data/storage:/app/api/storage
|
||
environment:
|
||
- MODE=api
|
||
- SECRET_KEY=${SECRET_KEY}
|
||
depends_on:
|
||
- db
|
||
- redis
|
||
image: langgenius/dify-api:latest
|
||
labels:
|
||
createdBy: "Apps"
|
||
worker:
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
environment:
|
||
- MODE=worker
|
||
- SECRET_KEY=${SECRET_KEY}
|
||
depends_on:
|
||
- db
|
||
- redis
|
||
image: langgenius/dify-api:latest
|
||
db:
|
||
image: postgres:15-alpine
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
volumes:
|
||
- ./data/postgres:/var/lib/postgresql/data
|
||
environment:
|
||
- POSTGRES_USER=${DB_USER}
|
||
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
||
- POSTGRES_DB=${DB_NAME}
|
||
redis:
|
||
image: redis:7-alpine
|
||
restart: always
|
||
networks:
|
||
- 1panel-network
|
||
volumes:
|
||
- ./data/redis:/data
|
||
networks:
|
||
1panel-network:
|
||
external: true
|
||
```
|
||
|
||
---
|
||
|
||
## 常见标签分类
|
||
|
||
### 中文标签(tags)
|
||
|
||
| 分类 | 标签 |
|
||
|------|------|
|
||
| 开发工具 | 开发工具 |
|
||
| 实用工具 | 实用工具 |
|
||
| 文档与笔记 | 文档与笔记 |
|
||
| 云存储 | 云存储 |
|
||
| 数据库 | 数据库 |
|
||
| 监控运维 | 监控运维 |
|
||
| 安全工具 | 安全工具 |
|
||
| 网络工具 | 网络工具 |
|
||
| 建站工具 | 建站工具 |
|
||
| AI/LLM | AI/LLM |
|
||
| 容器管理 | 容器管理 |
|
||
|
||
### 英文标签(additionalProperties.tags)
|
||
|
||
| 分类 | 标签 |
|
||
|------|------|
|
||
| 开发工具 | DevTool |
|
||
| 实用工具 | Utility |
|
||
| 文档与笔记 | Note |
|
||
| 云存储 | Storage |
|
||
| 数据库 | Database |
|
||
| 监控运维 | Monitor |
|
||
| 安全工具 | Security |
|
||
| 网络工具 | Network |
|
||
| 建站工具 | Website |
|
||
| AI/LLM | AI |
|
||
| 容器管理 | Container |
|
||
|
||
### 应用类型(type)
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| website | Web应用(默认) |
|
||
| runtime | 运行时环境(数据库等) |
|
||
| tool | 命令行工具 |
|
||
|
||
---
|
||
|
||
## 最佳实践
|
||
|
||
1. **版本号**:使用实际的镜像标签版本,如 `v3.45.0`,而非 `latest`
|
||
2. **推荐值**:优质应用设置 recommend: 60-80,一般应用 30-50
|
||
3. **架构支持**:至少支持 amd64 和 arm64
|
||
4. **多语言**:至少提供中英文描述,推荐添加日韩俄等语言
|
||
5. **数据持久化**:使用 `./data/` 目录,避免绝对路径
|
||
6. **环境变量**:敏感信息使用 password 类型参数
|