• docker 搭建私有云盘 Seafile


    缘起

    现如今各种云存储服务其实挺多的,国外有经典的DropBox、Google Drive、微软的OneDrive等,国内也有可以免费使用的各种云。

    那么为什么想要搭建私有云存储呢?主要是本着“自己的数据自己管理”的原则。

    其一是防止数据被窃取。这些云存储服务往往是和自己的某些平台账号绑定在一起的,或者至少是跟自己的某个邮箱绑定在一起的(密码重设),一旦平台账号或邮箱被黑客获取,所有的数据就一览无余了。再加之网络上社工库泛滥,很多人喜欢在各种网络服务上使用相同 的密码,往往是某一个账号失窃,所有数据全部暴露。

    其二是防止数据被主动泄漏。Google退出中国事件之后,我们知道运营在国内的产品数据都是对政府公开的,你一定不想把私密照片传到百度云或是360云盘上去。而“棱镜门”之后,我们知道诸如Google等号称“不作恶”的企业,其数据也是对政府公开的,老大哥时刻盯着你……

    其三是防止数据遗失。有些人贪图更便宜的价格或是更大的空间选择不知名的云存储服务,说不定哪天就停止服务了,到时候悔之晚矣。另外貌似诸如百度云如果判定你的视频文件有色情内容,会主动将其清除掉。

    这么一看自己搭建私有云存储太有必要性了。至少能保证自己的私人数据与其他互联网账号无关,不被搜索引擎索引,不被政府监视。保证服务器运行并做好数据备份就不会丢失。如果仅在家庭或公司内部使用可以部署在内网,安全系数更高。

    Docker和Seafile介绍

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。

    摘自开源中国

    Docker能简化我们的云存储搭建过程,还能使其更安全地运行,更方便的维护。

    Seafile是新一代的开源云存储软件。它提供更丰富的文件同步和管理功能,以及更好的数据隐私保护和群组协作功能。Seafile支持 Mac、Linux、Windows三个桌面平台,支持Android和iOS 两个移动平台。

    Seafile是由国内团队开发的国际型项目,目前已有10万左右的用户,以欧洲用户为多。典型的机构用户包括比利时的皇家自然科学博物馆,德国的Wuppertal气候、能源研究所。

    摘自开源中国

    下面讲述在rancher管理平台搭建Seafile

    一、拉取jenserat/seafile 镜像

    docker pull jenserat/seafile:latest

    二、下载Seafile

    jenserat/seafile镜像中包含了下载Seafile的脚本,可惜其文件托管在Amazon ECS上,国内无法正常访问。

    所以我们需要从官方网站上手动下载

    本例中我们把Seafile存放在/home/app/seafile

    三、运行镜像并挂载本地目录

    docker run -t -i --rm -p 10001:10001 -p 12001:12001 -p 8000:8000 -p 8080:8080 -p 8082:8082 -v /home/app/seafile:/opt/seafile jenserat/seafile -- /bin/bash
      注意将黄色改为具体的位置
    -v
    /home/app/seafile:/opt/seafile 表示将运行镜像中的/opt/seafile目录挂载到/home/app/seafile目录。这样就方便我们将下载的Seafile拷贝到运行镜像中。

    容器启动后将看到
    *** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
    *** Running /etc/rc.local...
    *** Booting runit daemon...
    *** Runit started as PID 9
    *** Running /bin/bash...
    root@635064a090b9:/# May 10 08:37:40 635064a090b9 syslog-ng[20]: syslog-ng starting up; version='3.5.3'

    四、配置

    •   定位到/opt/seafile 目录
    •   解压下载的seafile

      

    tar -zxf seafile-server_6.0.9_x86-64.tar.gz
    •   进入解压的目录
    check_init_admin.py  seaf-fuse.sh  seahub                  setup-seafile.sh
    reset-admin.sh       seaf-gc.sh    seahub.sh               upgrade
    runtime              seafile       setup-seafile-mysql.py
    seaf-fsck.sh         seafile.sh    setup-seafile-mysql.sh
    •   运行配置: 
    ./setup-seafile.sh

      将会出现配置 域名,端口号等等,按照提示一步步确认来。

    •   运行seafile,seahub

      

    ./seafile.sh start
    ./seahub.sh start

    配置完成后启动Seafile的两个服务测试,seafile是文件管理引擎,seahub提供网页访问服务。seahub首次启动时会要求提供管理员邮箱及密码:

    五、后续工作

      至此基本上一配置完成。但在web页面上传中一直遇到上传失败。其解决方法需要在页面的系统设置中

      

      将IP地址改变为rancher的地址。因为我们通过暴露端口访问,所以上传等需要进行相应的更改。

  • 相关阅读:
    Asp.Net Winform 条形码系列之Code39 Code39 Of .Net BarCode Serial Blog
    .NET 中文星期几的简单实现方式
    C#使用SQLite数据库(asp.net/winform)
    .Net日期时间格式化输出大全 DateTime.ToString(?)
    C#使用HTTP头检测网络资源是否有效
    [转]C#(VB.NET)操作Windows自带的防火墙 之 添加/删除允许通过防火墙的例外程序
    华为C2800进入工程模式
    android webview 加载网页显示对话框
    SVN 与 VS2003
    VisualSVN1.7.7 序列号
  • 原文地址:https://www.cnblogs.com/yanyouqiang/p/6851370.html
Copyright © 2020-2023  润新知