自定义图床OneDrive(二)

需求: E5保活+OneDrive(简称od)图床,由于篇幅太长,套域名就不写了。

前置准备:

  1. Debain12 & docker环境
  2. Windows (用来申请rclone访问OD Token)

安装rclone

1
2
3
sudo -v ; curl https://rclone.org/install.sh | sudo bash
# 安装rclone依赖
apt install fuse3

申请AZ客户端ID和密钥

rclone和od对接,需要”客户端ID”和”客户端密钥”这个到面板上申请一个。

访问Azure API管理面板登陆

image-20241102233146492

点击“新注册”注册一个应用程序。

image-20241102233214397

输入名称,勾选权限后注册应用。

image-20241102233240133

注册成功后将跳转到管理页面,记下图中所示的“应用程序(客户端) ID”,供将来挂载使用。

image-20241102233304789

此时点击“证书与密码”→“新客户端密码”,填写说明和截至期限后,添加密码。

image-20241102233419464

​ 添加密码后,我们记录密码值,供将来挂载使用。注意这里一定要将密码记录下来,因为它只显示一次。

image-20241102233439907

​ 接下来,点击“API权限”,为我们的api获取权限。Files中的权限全部勾选。

image-20241102233511198

至此,我们已经申请好了onedrive的api,目前我们已经得到了客户端ID以及客户端密钥

rclone配置OD

到Windows下载rclone,执行下面的命令获取token

1
2
# windows系统下按win+R调出运行,输入“cmd”
rclone.exe authorize "onedrive" "客户端ID" "客户端密钥"

![image-20241102234244003](/Users/hoey/Library/Application Support/typora-user-images/image-20241102234244003.png)

把toekn存下来,后面要用,接下来来配置rclone 并挂在onedrive到本地/mnt/onedrive/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 配rclone注册远程连接
rclone config
n
onedrive
35 Microsoft OneDrive
客户端ID
客户端密钥
1 Microsoft Cloud Global
n No (default) 不进行高级配置
n No 不使用自动配置
配置上面从windows存储的token
1 OneDrive Personal or Business
y
y

最终成功结果,如果你哪一步跟不上可以参考这个文档申请onedrive api并使用rclone将其挂载为本地磁盘_rclone onedrive-CSDN博客参考上半部分就行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mkdir -p /mnt/onedrive/
vim /etc/systemd/system/rclone.service

# 里面的5G需要根据磁盘的大小设置,但是不能超过剩余磁盘空间

[Unit]
Description=rclone

[Service]
User=root
ExecStart=/usr/bin/rclone mount onedrive:/ /mnt/onedrive/ --allow-other --allow-non-empty --vfs-cache-mode writes --vfs-cache-max-size 5G --transfers 3
Restart=on-failure

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload
sudo systemctl start rclone
sudo systemctl enable rclone
sudo systemctl status rclone

lsky

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mkdir -p /opt/docker/lsky-pro/lsky
cd /opt/docker/lsky-pro

vim docker-compose.yml
# 18088 & 18089可以自定义
services:
lsky-pro:
image: hisatri/lsky:latest
container_name: lsky-pro
restart: unless-stopped
ports:
- "18088:8088"
- "18089:8089"
volumes:
- $PWD/lsky:/var/www/html
- /mnt/onedrive:/onedrive
environment:
- HTTPS_PORT=8088
- WEB_PORT=8089

docker-compose up -d

访问localhost:18089

数据库选择sqllite,存储目录留空不填写,自己设置个邮箱和密码。

角色组

image-20241102235558735

存储策略

image-20241102235626568

picgo

插件->lankong

image-20241102235818645

设置

![image-20241102235848350](/Users/hoey/Library/Application Support/typora-user-images/image-20241102235848350.png)

Auth token的获取方法:

照着这个放一个post请求就可以了。

http://pic.yihao.de/api/v1/tokens?email=&password=

image-20241103004820420