一.docker和docker-compose
1、服務器安裝docker-compose
安裝docker
sudo yum check-update
sudo yum -y install docker-ce
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker
2、openwrt(默認預置了docker-compose)安裝docker-compose
opkg update
opkg install python3
opkg install python3-pip
pip install docker-compose==1.23.2
pip install docker-compose
3、群暉已默認預置了docker-compose
二.portainer
1、portainer-ce漢化版一鍵自動安裝代碼
群暉X86 CPU一鍵安裝
sh -c "$(curl -kfsSl https://gitee.com/expin/public/raw/master/onex86.sh)"
N1等ARM64架構CPU一鍵安裝
sh -c "$(curl -kfsSl https://gitee.com/expin/public/raw/master/one.sh)"
默認9999端口,重新安裝portainer。
手動安裝portainer
docker run -d -p 8000:8000 -p 9999:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer:/data portainer/portainer-ce
2、為了讓openwrt上的portainer能夠接管群暉的portainer,需要開通群暉上portainer的對外訪問權限,讓群暉的docker服務允許通過TCP進行連接
用SSH連到群暉的命令行上,編輯/var/packages/Docker/etc/dockerd.json這個文件:
sudo vi /var/packages/Docker/etc/dockerd.json
添加如下代碼:
"hosts" : [ "tcp://192.168.50.50:2375", "unix:///var/run/docker.sock" ],
3、在openwrt中添加群暉的oportainer
打開IP:9999,端點→添加端點
三.青龍和ninja
1、openwrt和主機 安裝青龍
docker run -dit \
-v /opt/docker/qinglong/config:/ql/config \
-v /opt/docker/qinglong/log:/ql/log \
-v /opt/docker/qinglong/db:/ql/db \
-v /opt/docker/qinglong/scripts:/ql/scripts \
-v /opt/docker/qinglong/repo:/ql/repo \
-v /opt/docker/qinglong/raw:/ql/raw \
-v /opt/docker/qinglong/jbot:/ql/jbot \
--network host \
-e ENABLE_HANGUP=true \
-e ENABLE_TG_BOT=true \
-e ENABLE_WEB_PANEL=true \
--name qinglong \
--hostname qinglong \
--restart always \
docker-compose代碼:
---
version: "2"
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
restart: unless-stopped
tty: true
ports:
- 5700:5700
- 5701:5701
environment:
- ENABLE_HANGUP=true
- ENABLE_WEB_PANEL=true
volumes:
- /opt/docker/qinglong/config:/ql/config
- /opt/docker/qinglong/log:/ql/log
- /opt/docker/qinglong/db:/ql/db
- /opt/docker/qinglong/repo:/ql/repo
- /opt/docker/qinglong/raw:/ql/raw
- /opt/docker/qinglong/scripts:/ql/scripts
- /opt/docker/qinglong/jbot:/ql/jbot
- /opt/docker/qinglong/ninja:/ql/ninja
2、群暉 安裝青龍
docker run -dit \
-v /volume1/docker/qinglong/config:/ql/config \
-v /volume1/docker/qinglong/log:/ql/log \
-v /volume1/docker/qinglong/db:/ql/db \
-v /volume1/docker/qinglong/scripts:/ql/scripts \
-v /volume1/docker/qinglong/repo:/ql/repo \
-v /volume1/docker/qinglong/raw:/ql/raw \
-v /volume1/docker/qinglong/jbot:/ql/jbot \
--network host \
-e ENABLE_HANGUP=true \
-e ENABLE_TG_BOT=true \
-e ENABLE_WEB_PANEL=true \
--name qinglong \
--hostname qinglong \
--restart always \
docker-compose代碼:
---
version: "2"
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
restart: unless-stopped
tty: true
ports:
- 5700:5700
- 5701:5701
environment:
- ENABLE_HANGUP=true
- ENABLE_WEB_PANEL=true
volumes:
- /volume1/docker/qinglong/config:/ql/config
- /volume1/docker/qinglong/log:/ql/log
- /volume1/docker/qinglong/db:/ql/db
- /volume1/docker/qinglong/repo:/ql/repo
- /volume1/docker/qinglong/raw:/ql/raw
- /volume1/docker/qinglong/scripts:/ql/scripts
- /volume1/docker/qinglong/jbot:/ql/jbot
- /volume1/docker/qinglong/ninja:/ql/ninja
3、登錄qinglong
登錄ip:5700 重置一下密碼。
/opt/docker/qinglong
進入容器
ql為容器名 本文機器容器名為qinglong
docker exec -it qinglong bash
最主要的是下面安裝
執行以下命令
git clone https://github.com/MoonBegonia/ninja.git /ql/ninja
cd /ql/ninja/backend
pnpm install
pm2 start
cp sendNotify.js /ql/scripts/sendNotify.js
打開青龍configs文件夾的extra.sh文件
將以下內容粘貼進去。
cd /ql/ninja/backend
git pull -f
pnpm install
pm2 start
cp sendNotify.js /ql/scripts/sendNotify.js
Ninja更新方法
docker exec -it qinglong bash
cd /ql/ninja/backend
git pull
pm2 start
注意事項
重啟后務必執行一次 ql extra 保證 Ninja 配置成功。
更新 Ninja 只需要在容器中 ninja/backend 目錄執行 git pull 然后 pm2 start
Qinglong 需要在登錄狀態(auth.json 中有 token)
config.sh 修改2處位置
## 由於github倉庫拉取較慢,所以會默認添加代理前綴,如不需要請移除
GithubProxyUrl=""
## 設置定時任務執行的超時時間,默認1h,后綴"s"代表秒(默認值), "m"代表分, "h"代表小時, "d"代表天
CommandTimeoutTime="1h"
## 設置批量執行任務時的並發數,默認同時執行5個任務
MaxConcurrentNum="5"
## 在運行 task 命令時,隨機延遲啟動任務的最大延遲時間
## 默認給javascript任務加隨機延遲,如 RandomDelay="300" ,表示任務將在 1-300 秒內隨機延遲一個秒數,然后再運行,取消延遲賦值為空
RandomDelay="300"
## 如果你自己會寫shell腳本,並且希望在每次運行 ql update 命令時,額外運行你的 shell 腳本,請賦值為 "true",默認為true
EnableExtraShell="true"
## 是否自動啟動bot,默認不啟動,設置為true時自動啟動,目前需要自行克隆bot倉庫所需代碼,存到ql/repo目錄下,文件夾命名為dockerbot
AutoStartBot=""
## 安裝bot依賴時指定pip源,默認使用清華源,如不需要源,設置此參數為空
PipMirror="https://pypi.tuna.tsinghua.edu.cn/simple"
## 通知環境變量
## 1. Server醬
## https://sct.ftqq.com
## 下方填寫 SCHKEY 值或 SendKey 值
export PUSH_KEY="SCT22411TG9cNqivT5TZimHDywn8dqpgO"
4、配置更新文件
推薦安裝這一個就夠了,在青龍右上角里面任務里添加。 時間寫早上8點更新:
0 8 * * *
ql repo https://github.com/yuannian1112/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp" "^jd[^_]|USER|utils" "main"
備用,暫時不添加
ql repo https://github.com/Annyoo2021/scripts.git "jd_|jx_|long_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace|JDJRValidator_Pure|JDJRValidator" "main"
5、京東掃碼登錄
IP:5701
四.mariadb和nextcloud創建
1、MariaDB創建
先建個mynet網絡
然后在堆棧里面創建代碼
---
version: "2"
services:
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=password
- TZ=Asia/Shanghai
volumes:
- /www/server/mariadb:/config
ports:
- 3306:3306
networks:
- mynet
restart: unless-stopped
adminer:
image: adminer
container_name: adminer
environment:
- ADMINER_DEFAULT_SERVER=mariadb
ports:
- 9091:9091
networks:
- mynet
restart: unless-stopped
networks:
mynet:
external:
name: mynet
2、訪問adminer,新建nextcloud
創建數據庫,格式選utf8mb4_general_c
3、創建nextcloud
---
version: "2"
services:
nextcloud:
image: linuxserver/nextcloud
container_name: linuxservernextcloud
environment:
- TZ=Asia/Shanghai
volumes:
- /www/server/nextcloud/config:/config
- /www/server/nextcloud/data:/data
networks:
- mynet
ports:
- 5000:443
restart: unless-stopped
networks:
mynet:
external:
name: mynet
4、登錄nextcloud
https://ip:5000/login
數據庫那里選中間MySQL/MariaDB
root
password
nextcloud
mariadb
為了方便域名訪問,在/www/server/nextcloud/config/config.php中添加
1 => 'k.666666.xyz',
5、MariaDB 數據庫和nextcloud的優化
在數據庫容量小於1GB時,且內存足夠的情況下:
MariaDB 數據庫優化
編輯/www/server/mariadb/custom.cnf
[mysqld]
innodb_buffer_pool_size=1G
innodb_io_capacity=4000
PHP-FPM 的優化
編輯/www/server/nextcloud/config/php/www2.conf
[www]
pm = dynamic
pm.max_children = 120
pm.start_servers = 12
pm.min_spare_servers = 6
pm.max_spare_servers = 18