你真的需要一台小主机“大唐J6412”系列1-工作同步盘seafile私有云盘搭建教程
购买理由
使用macbook的小伙伴大多深受硬盘小的困扰(土豪除外),记得我的第一台macbook是比较经典的2015款macbook pro 13.3,128G的硬盘,刚到手的时候还装了双系统,两个系统各占不少空间不说,想要切换系统访问同一个文件还存在mac的APFS和windows的NTFS文件系统互相不支持的问题。没办法只能能再多准备一块移动硬盘。双系统的mac用户太难了,有什么解决方案呢?网盘无疑成了最好的选择,常用的国产网盘例如百度网盘,阿里云盘等每次使用都要先把需要编辑的文件下载到本地,编辑完再上传回去,特别浪费时间,并且还存在一定的使用限制(限速及限流等);于是开始在网上查找私有云盘的搭建。最早使用的是一款国产的私有云盘-可道云(kodexplorer);使用一阵后发现还是需要每次使用前下载,使用后上传,不解决根本问题,再后来发现了seafile私有网盘神器,这是个开源软件,支持windows、linux、macos以及手机端的ios、安卓系统。我把他叫做同步盘,固名思义,就是这款网盘产品可以做到多终端同步的效果。可以个人使用,也可以团队协作使用,常规office文件支持在线编辑及预览功能,完美解决了我的使用需求。
该网盘的服务器端可以搭建在linux及树莓派上,所以我们需要一台设备,如果要求不高的话可以买一个树莓派或者低成本的某讯N1;如果想开发更多玩法的话,建议入手一台X86主机,由于机器是24小时在线运行的,所以嘛……一定要省电。。。。。。同时做为一个网盘,最少也要两个盘位是吧朋友们。。。。。。再然后,主机是需要24小时开机,夜间的风扇噪音也是要重视的,在综合以上因素后,大唐的j6412被动散热小主机无疑是现阶段能买到性能强功耗低而且零噪音的高性价比最佳选择。
外观展示
此外小主机采用了最新的10nm工艺制造,相比上一代的N5105在发热控制上要好上不少,但核显也从24EU降到了16EU,但利益于内存频率的提升,总体得分相差不大。
配置流程
一、硬件配置:
做为一个电子数码爱好者,配件肯定是不会少的,以前玩nuc11剩下的金士顿骇客神条安排上,用两条是可以组双通道,对机器的性能提升还是挺大的;硬盘要注意一下,这个小机器只支持sata通道的m.2固态,以前剩下的三星pm9a1是用不上了,只能小黄鱼扫一下货。多方比较后我入手了一个神盘“海力士SC401”,1T的全新盘价格只要3毛爷爷出头,还贴心的送了散热片。
可以看出小主机做工还是很不错的,固态硬盘下面是inter3165无线网卡
m.2固态做系统盘,又上了一个朗科2T的2.5寸SSD做数据盘。开机顺利点亮。。。。
二、系统及软件配置:
常规服务器搭建基本是使用linux做系统系统,当然可以是debian, Ubuntu,centos等,然后在服务器上布置应用,我是用的是pve底层的debian系统,把他当做一个正常的debian来用是基本上不会出什么问题的,正常安装debian和pve的教程就不多做介绍了,网上一抓一大把,我就从seafile的安装讲起吧。
seafile在linux下布署常用的有两种方法,可以在官网上下载好安装包上传到服务器上解压安装,也可以使用Docker容器一键安装。以前我是用的第一种方法,后来升级服务器的时候遇到了大麻烦,软件版本升级导致数据库与新版本的软件不适配,数据库和网盘里的数据文件不能直接用在新机器上。花了海量的时间把原来的文件都拷贝到移动硬盘上,再上传到布署好的新服务上。 (坑好大,花了我好多时间和精力去研究seafile数据迁移)
所以,,,重点还是讲一下Docker容器安装的方法和使用技巧吧。
1、安装docker及docker-compose
终端下输入:
apt-get update
apt-get install
ca-certificates
curl
gnupg
lsb-release
添加官方的GPG
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
输入下面的命令设置源
echo
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
更新包索引并且安装最新版的docker
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
安装docker-compose
apt-get install docker-compose -y
2、安装图形化管理界面portainer #默认管理端口9000可自己修改
docker pull portainer/portainer
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer portainer/portainer
systemctl start docker #启动docker
docker ps #确认docker在运行,会出现正在运行的容器,现附件应该是没有容器的
3、配置磁盘及软件安装目录:
以上,linux系统上的准备工作基本完成了,下面要设置一下磁盘及数据库存放目录,seafile的docker版默认的映射目录是opt,我们需要把想存放数据的盘符挂载到 opt目录上;
首先lsblk(老师不离开)命令看一下磁盘结构,找到想使用的盘符,通常会显示为树状结构,可以在里面看到sda、sdb……及下面的分区,有几个硬盘就会有看到几个,使用fdisk命令创建分区并格式化为ext4文件系统(建议小白同学先用DiskGenius工具在windowsPE上将硬盘分好区,可以用一些winpe的工具盘,建议使用FirPE,里面自带各种常用工具,新建分区的文件系统选择ext4);
[root@******* ]# lsblk
lsblk NAME MAJ:MIN rm SIZE RO type mountpoint
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 46.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 190M 0 part /boot
├─sda6 8:6 0 3.7G 0 part [SWAP]
├─sda7 8:7 0 93.1G 0 part /data
└─sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
#以上为示例参考,lsblk命令可见一块硬盘sda1,下面有8个分区“sda1~8",记住自己要用的分区名(后面会多次使用)
挂载分区到opt目录(如果根目录下没有需要mkdir新建一个,注意此根目录非root目录)
mount /dev/sda1 /opt #sda1为刚刚创建的存放网盘数据的分区,opt为seafile数据库及数据等文件目录
当然也可以修改fstab文件实现开机自动挂载
nano /etc/fstab #使用nano工具编辑fstab文件
fstab文件光标移动到最后面填加下行文字(#后面的是注释,不需要添加进去)
/dev/sda1 /opt ext4 defaults 0 0 #讲sda1修改为你自己创建的分区名
操作完成后输入:(ctrl+X)退出;(Y)保存;(回车)确认;
4、docker一键布署配置文件,我选用的是免费的开源版,有条件或者有需要的同学可以选择专业版
以下步骤参考官方帮助文档,如操作过程中遇到问题可到官方网站-支持选项卡里查找解决方案。
先到官方下载最新版本docker-compose.yml配置文件修改后上传到服务器root目录(便于操作):
https://docs.seafile.com/d/cb1d3f97106847abbf31/files/?p=/docker/docker-compose.yml
文本内容如下,需要修改的地方我用#注释,大家按自己的需求配置即可。如懒得下载也可以在服务器上新建“docker-compose.yml”空白文档,将下面内容全部粘贴进去也可以。
tuch docker-compose.yml
nano docker-compose.yml
粘贴并修改完成后输入:(ctrl+X)退出;(Y)保存;(回车)确认;
version: '2.0'
services:
db:
image: mariadb:10.5
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=db_dev # db_dev为数据库密码,可修改为自己常用密码,当然不修改也可以.
- MYSQL_LOG_CONSOLE=true
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql # 如果和我一样设置的挂载目录是opt那么这里就什么也不用改,否则就需要把opt改为自己设置的目录.
networks:
- seafile-net
memcached:
image: memcached:1.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "80:80"
# - "443:443" #如果想使用安全证书https访问可去掉此行前面的#.
volumes:
- /opt/seafile-data:/shared # 如果和我一样设置的挂载目录是opt那么这里就什么也不用改,否则就需要把opt改为自己设置的目录.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev # db_dev为数据库密码,可修改为自己常用密码,当然不修改也可以.
- TIME_ZONE=Asia/Shanghai # 默认上海时区,海外用户可自行修改,国内用户去掉前面的#号即可.
- SEAFILE_ADMIN_EMAIL=me@example.com # 把 'me@example.com'改成自己的邮箱,即登录名.
- SEAFILE_ADMIN_PASSWORD=asecret # 把 'asecret'改成自己的登录密码.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether use letsencrypt to generate cert.
- SEAFILE_SERVER_HOSTNAME=seafile.example.com # 如有自己的域名把'seafile.example.com'改成自己要用的域名.
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
修改完成后可使用ssh工具上传到服务器根目录,这里不多做介绍,如果实在懒的话看下面
另一种方法:
命令行拉取配置文件:
wget https://cloud.seafile.com/seafhttp/files/7081508d-45ca-4883-9e49-db422a6fde70/docker-compose.yml -O docker-compose.yml
nano命令修改配置文件:
nano docker-compose.yml
#参考上面的文本内容来修改,修改完成后键盘输入:(ctrl+X)退出;(Y)保存;(回车)确认;
5、一键拉取镜像并布署docker容器
按以上操作配置完成,在根目录下运行以下命令一键布署(或者cd到上传文件目录运行)
docker-compose up -d
漫长的拉取镜像过后,docker容器会自动启动,此时再输入:
docker ps
正常的话就可以出现以下画面了,容器都已经在运行了
除了刚才安装的图形化docker管理工具和seafile容器外,还有一个sql数据库和nginx容器,有点基础的小伙伴还可以用来做一些网页服务
恭喜你,seafile服务器已经搭设完毕,下面就可以使用了。
PS:官方的配置文档是没有设置容器开机启动的,如果服务器重启可能就没法使用网盘功能了,可以到portainer里设置开机启动。
三、seafile使用
下面的操作就都是在自己使用的电脑上远程操作了,
在自己电脑上打开浏览器,输入服务器的IP地址后回车,此时就可以看到这样的界面了(服务器的ip怎么获取就不用我教了吧)
输入配置文件里自己设置的帐号和密码登录后可以看到下面的界面,
网页端主页面,可以上传和下载文件,管理资料库(可以理解为文件夹)
别急,如果有域名的同学想外网访问还需要进行一些设置,前提是要有公网ip(或内网穿透)
选择左侧设置选项卡,在SERVICE_URL和FILE_SERVER_ROOT里域名后面添加自己路由器设置转发的端口号,端口转发这里就不介绍了,如果有需要的同学可以百度
最后还可以拓展一下使用范围,下拉界面勾选”允许用户注册“
这样就可以让你的同事、家人通过网盘登录页面注册帐号,共同使用seafile网盘了。在这个软件里,不同用户之间可以共享资料库的方式共享文件,也可以设置不同的组群在组群内部共享数据文件,更多功能可以自己慢慢开发。。。
至此,就可以使用网页版来上传下载管理你的文件了,但是,,,还没完,,重要的在后面,,,,
四、进阶使用-挂载盘客户端
官网根据自己的设备选择对应的挂载盘客户端下载
https://www.seafile.com/download
下载并安装完成后,建议根据自己的电脑设置一下缓存目录及缓存大小,
设置工具基本上是全部完成了,打开我的电脑,可以看到多出来的云盘目录,可以根据自己的喜好分类上传了。
总结
好了,不知不觉码了这么多字,最后说说我的使用经验吧,我基本上把所有的工作文件都上传到上面了,需要访问修改的时候直接在SeaDrive相应目录里打开修改并保存,文件会自动上传到自己搭建好seafile服务器上的,因为是采用服务器远端存储本地缓存的方式,便利性无以伦比,如果家里网速快的话,几百兆文件打开也就要等个十几秒,对于使用频率较高的文件和目录,可以在上面右键选择”Always keep on the device“,这样在访问一次后就可以永久保存在本地了;
此外在任何客户端都可以使用分享文件功能,这样不管在何时何地,任何人找我要文件的时候,我都可以拿出手机或者笔记本电脑,将文件下载转发或者以链接的形式分享给他人,分享的时候还可以设置有效时间及访问密码,十分方便。
这个网盘应用我已经使用了四年多时间了,可以说是我认为最好用,也是最适合我的私有网盘,在此推介给同样有移动办公需求的小伙伴,甚至需要多地办公基本可以不用背着笔记本到处跑了。
到此,大唐J6412小主机搭设seafile私有网盘服务器及进阶使用教程全部结束了,当然这个小主机能实现的功能可不止限于一个网盘服务,包括网上很多的all in one应用场景都可以在上面现实,可以做软路由拔号上网,可以黑群晖,也可以跑一些pcdn服务挣点网费和电费,等等……
最后,帖上一张小主机待机功耗的图,计算一下电费还是挺惊喜的,可以安心的24X365不关机了。。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
种草好朋友
校验提示文案
念你Gentle
校验提示文案
拉德布鲁赫信徒
校验提示文案
洛阳偃师
校验提示文案
jaysonzhang
校验提示文案
LIIGEAR
校验提示文案
叫兽_sk
校验提示文案
叫兽_sk
校验提示文案
洛阳偃师
校验提示文案
LIIGEAR
校验提示文案
jaysonzhang
校验提示文案
拉德布鲁赫信徒
校验提示文案
念你Gentle
校验提示文案
种草好朋友
校验提示文案