使用docker部署onedrive容器
好久不见,我终于更新了……
原本计划是要更新kubernetes相关文章的,但是:
🕊️了
今天来讲解onedrive的事
为什么要用docker部署onedrive?
众所周知我人是非常非常非常!!!讨厌Windows的,所以目前我已经全面转向使用Linux了。
虽然是已全面转向Windows,但Office365还续着费呢,并且由于分享站,以及移动端的需求,我也不打算停止续费。
既然如此,那必定是需要把Onedrive利用起来的。
由于微软“强大的”开发实力,并没有为linux推出官方的onedrive客户端,所以我们就需要自己动手部署第三方的了
准备工作
安装docker
这里可以直接使用脚本安装
对于国内的小伙伴可以使用以下脚本
确定文件夹位置
这次我们使用的是来自abraunegg/onedrive的第三方客户端,同时使用docker部署,以避免可能遇到的各种各样奇奇怪怪的问题。
对于docker部署来说,我们主要用到两个文件夹:
容器路径 | 说明 | 主机路径推荐 |
---|---|---|
/onedrive/conf | 用于放置数据库以及TOKEN | ~/docker/onedrive/conf |
/onedrive/data | onedrive的文件夹(默认为onedrive根目录) | ~/OneDrive |
以上是我储存数据的位置
创建文件夹
开始部署
注意:使用这个客户端双向同步的话将完全同步OneDrive下的所有文件,如果OneDrive中有巨量文件的话将占用大量本地磁盘空间!
首次运行
首次运行请参照以下格式运行:
请将以上命令按照下方步骤填充好
确定用户文件夹绝对路径
使用以下命令可以确定用户文件夹路径
输出结果为用户文件夹路径,例如我的为: /home/xianyu
确定自己的用户ID以及组ID
请务必确定好自己的用户ID以及组ID,如果不使用正确的用户ID以及组ID将有极大可能无法正常访问使用文件夹下的文件!
这里我的UID和GID均为1000
填充命令并执行
获取TOKEN
在执行完上方命令后,命令行会输出一个URL,复制到浏览器后打开,将会登录微软帐号。
按照指示操作完后页面会全白,此时不要担心,不是电脑网络不好,只需要将此时浏览器上的URL填入容器输出窗口并回车即可完成首次的设置。
删除首次运行使用的容器
查找容器ID
将首次运行用的容器删除
使用docker-compose运行
注意:使用docker-compose运行也必须经过上方首次运行的步骤,先确保获取到TOKEN并填入容器!
安装docker-compose
下载二进制文件
也可使用国内镜像
下载完成后赋予可执行权限
编写docker-compose文件
我习惯将文件放在~/docker/onedrive
文件夹下
文件内容就是将首次运行时的docker命令变为配置文件的形式
部署
当修改了微软账户密码
在修改了微软账户密码后,容器就会无法使用TOKEN进行同步,此时需要重新部署容器,按照官方文档的操作方法,需要先停止并删除容器,再在启动时添加一条变量退出登录并清楚conf文件夹下内容。和我一样嫌麻烦的同学可以按照下方操作进行重新登录
停止容器
删除TOKEN文件
重复首次部署流程
接下去的操作与首次部署时完全一致,使用docker命令部署容器,并输入URL即可重新登录
使用体验
除了必须全量同步这一点上非常蛋疼外什么都好
你也可以像我一样将文件夹图标改成OneDrive的Logo,让它看起来更加没有违合感