跳转到内容

1Panel 第三方应用商店完全指南 | Docker 应用一键部署教程

1Panel Third-Party App Store

1Panel 是一款现代化的 Linux 服务器运维管理面板,而第三方应用商店则极大地扩展了其功能边界。通过添加第三方应用商店,你可以一键部署各种 Docker 应用,无需手动编写复杂的配置文件。本文将详细介绍如何配置和使用 1Panel 第三方应用商店。

简介

这是一些适配 1Panel 商店 2.0 版本的 docker 应用配置。

致力于一键运行各种 Docker 应用。无需复杂配置,享受便利和高效。

为什么需要第三方应用商店?

优势说明
🚀 快速部署一键安装,无需手动配置
📦 丰富应用涵盖常用开源软件
🔧 自动更新支持计划任务自动同步
💾 统一管理在 1Panel 面板中集中管理
🛡️ 安全可靠社区维护,定期更新

适用场景

  • 个人开发者:快速搭建开发环境
  • 中小企业:部署内部管理系统
  • 家庭实验室:搭建智能家居、媒体服务器
  • 学习者:体验各种开源软件

使用方式

默认 1Panel 安装在 /opt/ 路径下,如果不是按需修改以下。

前置要求

bash
# 确认 1Panel 已安装
systemctl status 1panel

# 确认 Docker 已安装
docker --version
docker-compose --version

# 确认 1Panel 版本 >= 2.0
1pctl version

目录结构说明

/opt/1panel/resource/apps/local/
├── appstore-localApps/     # 临时克隆的仓库
│   └── apps/              # 应用配置文件
├── rustdesk/              # 具体应用目录
│   └── versions/
│       └── latest/
│           ├── docker-compose.yml
│           ├── .env.sample
│           └── README.md
└── ...                    # 其他应用

国内网络

使用 git 命令获取应用

1Panel 计划任务类型 Shell 脚本 的计划任务框里,添加并执行以下命令,或者终端运行以下命令

sh
git clone -b localApps https://ghfast.top/https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps

cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/

rm -rf /opt/1panel/resource/apps/local/appstore-localApps

然后应用商店刷新本地应用即可。

详细步骤说明

步骤 1:克隆仓库

bash
# 使用 ghfast.top 加速 GitHub 访问
git clone -b localApps \
  https://ghfast.top/https://github.com/okxlin/appstore \
  /opt/1panel/resource/apps/local/appstore-localApps

# 如果 ghfast.top 不可用,可尝试其他加速服务:
# https://hub.fastgit.xyz/okxlin/appstore
# https://github.com.cnpmjs.org/okxlin/appstore

步骤 2:复制应用文件

bash
# 将应用配置文件复制到本地应用目录
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* \
  /opt/1panel/resource/apps/local/

# 验证复制结果
ls -la /opt/1panel/resource/apps/local/ | head -20

步骤 3:清理临时文件

bash
# 删除临时克隆的仓库
rm -rf /opt/1panel/resource/apps/local/appstore-localApps

# 释放磁盘空间
df -h /opt/1panel

步骤 4:刷新应用商店

  1. 登录 1Panel 面板
  2. 进入【应用商店】
  3. 点击【本地应用】标签
  4. 点击【刷新】按钮
  5. 新应用应该会出现在列表中

使用压缩包方式获取应用

1Panel 计划任务类型 Shell 脚本 的计划任务框里,添加并执行以下命令,或者终端运行以下命令

sh
wget -P /opt/1panel/resource/apps/local https://ghfast.top/https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip

unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip

cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/

rm -rf /opt/1panel/resource/apps/local/appstore-localApps

rm -rf /opt/1panel/resource/apps/local/localApps.zip

然后应用商店刷新本地应用即可。

压缩包方式的优势

对比项Git 方式压缩包方式
下载速度中等较快
带宽占用较高较低
依赖工具gitwget + unzip
适用场景频繁更新一次性安装
断点续传支持不支持

详细步骤说明

步骤 1:下载压缩包

bash
# 下载到指定目录
wget -P /opt/1panel/resource/apps/local \
  https://ghfast.top/https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip

# 验证下载完整性
ls -lh /opt/1panel/resource/apps/local/localApps.zip

步骤 2:解压文件

bash
# 解压到本地应用目录
unzip -o -d /opt/1panel/resource/apps/local/ \
  /opt/1panel/resource/apps/local/localApps.zip

# 查看解压结果
ls -la /opt/1panel/resource/apps/local/appstore-localApps/

步骤 3:复制应用文件

bash
# 复制应用到本地目录
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* \
  /opt/1panel/resource/apps/local/

# 验证复制
ls /opt/1panel/resource/apps/local/ | grep -E "rustdesk|nextcloud|moodle"

步骤 4:清理临时文件

bash
# 删除临时目录和压缩包
rm -rf /opt/1panel/resource/apps/local/appstore-localApps
rm -rf /opt/1panel/resource/apps/local/localApps.zip

# 验证清理
ls /opt/1panel/resource/apps/local/ | grep -v "appstore-localApps" | grep -v "localApps.zip"

国际互联网络

使用 git 命令获取应用

1Panel 计划任务类型 Shell 脚本 的计划任务框里,添加并执行以下命令,或者终端运行以下命令

sh
git clone -b localApps https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps

cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/

rm -rf /opt/1panel/resource/apps/local/appstore-localApps

然后应用商店刷新本地应用即可。

使用压缩包方式获取应用

1Panel 计划任务类型 Shell 脚本 的计划任务框里,添加并执行以下命令,或者终端运行以下命令

sh
wget -P /opt/1panel/resource/apps/local https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip

unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip

cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/

rm -rf /opt/1panel/resource/apps/local/appstore-localApps

rm -rf /opt/1panel/resource/apps/local/localApps.zip

然后应用商店刷新本地应用即可。

自动化更新配置

创建计划任务

为了让应用商店保持最新,建议配置自动更新任务:

步骤 1:创建 Shell 脚本

bash
# 创建更新脚本
cat > /root/update-1panel-appstore.sh << 'EOF'
#!/bin/bash

# 日志文件
LOG_FILE="/var/log/1panel-appstore-update.log"

echo "========================================" >> $LOG_FILE
echo "开始更新 1Panel 第三方应用商店: $(date)" >> $LOG_FILE

# 备份当前应用列表
BACKUP_DIR="/backup/1panel-apps-$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
cp -r /opt/1panel/resource/apps/local/* $BACKUP_DIR/ 2>/dev/null

# 删除旧的临时目录
rm -rf /opt/1panel/resource/apps/local/appstore-localApps

# 克隆最新的应用配置(使用国内加速)
git clone -b localApps \
  https://ghfast.top/https://github.com/okxlin/appstore \
  /opt/1panel/resource/apps/local/appstore-localApps >> $LOG_FILE 2>&1

if [ $? -eq 0 ]; then
  # 复制应用文件
  cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* \
    /opt/1panel/resource/apps/local/ >> $LOG_FILE 2>&1
  
  # 清理临时文件
  rm -rf /opt/1panel/resource/apps/local/appstore-localApps
  
  echo "更新成功: $(date)" >> $LOG_FILE
else
  echo "更新失败: $(date)" >> $LOG_FILE
  # 恢复备份
  cp -r $BACKUP_DIR/* /opt/1panel/resource/apps/local/ 2>/dev/null
fi

echo "========================================" >> $LOG_FILE
EOF

# 赋予执行权限
chmod +x /root/update-1panel-appstore.sh

步骤 2:添加到 1Panel 计划任务

  1. 登录 1Panel 面板
  2. 进入【计划任务】
  3. 点击【创建计划任务】
  4. 配置如下:
    • 任务名称:更新 1Panel 第三方应用商店
    • 任务类型:Shell 脚本
    • 执行周期:每周(推荐周日凌晨 3:00)
    • 脚本内容/root/update-1panel-appstore.sh
  5. 点击【确定】

步骤 3:验证计划任务

bash
# 手动执行测试
/root/update-1panel-appstore.sh

# 查看执行日志
tail -f /var/log/1panel-appstore-update.log

# 检查 crontab
crontab -l | grep update-1panel-appstore

其他加速方案

如果 ghfast.top 不可用,可以尝试以下替代方案:

bash
# 方案 1:使用 Cloudflare Workers 代理
git clone -b localApps \
  https://github.moeyy.xyz/https://github.com/okxlin/appstore \
  /opt/1panel/resource/apps/local/appstore-localApps

# 方案 2:使用 jsDelivr CDN
wget -P /opt/1panel/resource/apps/local \
  https://cdn.jsdelivr.net/gh/okxlin/appstore@localApps/localApps.zip

# 方案 3:使用 Gitee 镜像(如果有)
git clone -b localApps \
  https://gitee.com/mirror/okxlin-appstore \
  /opt/1panel/resource/apps/local/appstore-localApps

备注

  • 未显示在本地应用列表里的,表示未完全适配应用商店面板操作
  • 但是支持直接终端运行。

TIP

本仓库应用基本支持直接 docker-compose up 运行

rustdesk 为例

sh
# 进入 rustdesk 的最新版本目录
cd /opt/1panel/resource/apps/local/rustdesk/versions/latest/

# 复制 .env.sample 为 .env
cp .env.sample .env

# 编辑 .env 文件,修改参数
nano .env

# 启动 RustDesk
docker-compose up -d

# 查看连接所需密钥
cat ./data/hbbs/id_ed25519.pub

常见应用示例

1. Nextcloud 私有云盘

bash
# 进入 Nextcloud 目录
cd /opt/1panel/resource/apps/local/nextcloud/versions/latest/

# 配置环境变量
cp .env.sample .env
nano .env

# 修改以下参数:
# NEXTCLOUD_ADMIN_USER=admin
# NEXTCLOUD_ADMIN_PASSWORD=your_password
# NEXTCLOUD_TRUSTED_DOMAINS=your-domain.com

# 启动服务
docker-compose up -d

# 查看日志
docker-compose logs -f

2. Moodle 在线学习平台

bash
# 进入 Moodle 目录
cd /opt/1panel/resource/apps/local/moodle/versions/latest/

# 配置
cp .env.sample .env
nano .env

# 启动
docker-compose up -d

# 访问地址:http://your-server-ip:8080

3. WordPress 博客系统

bash
# 进入 WordPress 目录
cd /opt/1panel/resource/apps/local/wordpress/versions/latest/

# 配置数据库密码
cp .env.sample .env
nano .env

# 启动
docker-compose up -d

# 初始设置
# 访问 http://your-server-ip:8000
# 按照向导完成安装

故障排查

问题 1:应用不显示在列表中

bash
# 检查应用目录结构
ls -la /opt/1panel/resource/apps/local/

# 确认存在 data.yml 文件
find /opt/1panel/resource/apps/local/ -name "data.yml" | head -10

# 重启 1Panel 服务
systemctl restart 1panel

# 清除浏览器缓存并刷新页面

问题 2:Docker 容器启动失败

bash
# 查看容器状态
docker ps -a | grep rustdesk

# 查看容器日志
docker-compose logs -f

# 检查端口占用
netstat -tuln | grep 21115

# 检查 .env 配置
cat .env

# 重新构建并启动
docker-compose down
docker-compose up -d --build

问题 3:磁盘空间不足

bash
# 检查磁盘使用情况
df -h /opt/1panel

# 清理未使用的 Docker 资源
docker system prune -a

# 清理旧的应用备份
rm -rf /backup/1panel-apps-*

# 查找大文件
du -sh /opt/1panel/resource/apps/local/* | sort -rh | head -10

问题 4:网络连接超时

bash
# 测试 GitHub 连通性
ping github.com

# 测试加速服务
curl -I https://ghfast.top/

# 更换加速源
# 编辑更新脚本,替换为其他加速服务

# 使用代理(如果有)
export https_proxy=http://your-proxy:port
git clone -b localApps https://github.com/okxlin/appstore ...

安全建议

  1. 定期备份

    bash
    # 创建备份脚本
    cat > /root/backup-1panel-apps.sh << 'EOF'
    #!/bin/bash
    BACKUP_DIR="/backup/1panel-apps-$(date +%Y%m%d_%H%M%S)"
    mkdir -p $BACKUP_DIR
    tar -czf $BACKUP_DIR/apps.tar.gz -C /opt/1panel/resource/apps/local .
    # 保留最近 7 天的备份
    find /backup -name "1panel-apps-*" -mtime +7 -delete
    EOF
    chmod +x /root/backup-1panel-apps.sh
  2. 权限控制

    bash
    # 确保只有 root 可以修改应用文件
    chown -R root:root /opt/1panel/resource/apps/local/
    chmod -R 755 /opt/1panel/resource/apps/local/
  3. 监控更新日志

    bash
    # 设置日志告警
    tail -f /var/log/1panel-appstore-update.log | grep "更新失败" | while read line; do
      echo "警告:应用商店更新失败!" | mail -s "1Panel 告警" admin@example.com
    done

应用一览图

点击查看原图

1Panel

热门应用推荐

应用类别推荐应用用途说明
📁 文件管理Nextcloud, FileBrowser私有云盘、文件共享
🌐 网站搭建WordPress, Typecho博客、CMS 系统
💬 即时通讯RustDesk, Mattermost远程桌面、团队协作
📚 在线教育Moodle, OpenEdX在线学习平台
🎬 媒体服务Jellyfin, Plex家庭媒体中心
🔧 开发工具Gitea, Jenkins代码托管、CI/CD
📊 数据分析Metabase, Grafana数据可视化、监控
🛒 电商系统WooCommerce, Magento在线商城

总结

通过添加第三方应用商店,1Panel 的功能得到了极大扩展:

  1. 简化部署:一键安装,无需复杂配置
  2. 丰富生态:数百种开源应用可选
  3. 自动更新:计划任务保持最新版本
  4. 统一管理:在面板中集中管理所有应用
  5. 社区支持:持续更新和维护

关键步骤回顾:

bash
1. 选择安装方式(Git 或压缩包)
2. 根据网络环境选择加速源
3. 执行安装命令
4. 刷新应用商店
5. 配置自动更新任务

下一步学习:

使用 1Panel 第三方应用商店,让服务器管理变得如此简单!🚀