跳轉到內容

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 第三方應用商店,讓服務器管理變得如此簡單!🚀

最後更新於: