美文网首页玩转树莓派程序员
树莓派私有网盘全攻略(二):Docker+NextCloud+N

树莓派私有网盘全攻略(二):Docker+NextCloud+N

作者: Pan_大宝 | 来源:发表于2019-04-01 18:30 被阅读7次

    搭建私有网盘步骤:

    1. 宽带的外网访问
    2. 部署Docker+NextCloud+Nginx(本篇文章)
    3. 导入已有的资源和WebDAV使用

    我们使用Docker可以很方便的安装和部署相应的环境。
    关于Docker 的简介百度百科

    树莓派安装Docker,可以参考文章:
    树莓派安装Docker

    私有云盘有很多免费的供选择:

    • NextCloud 和OwnCloud同源的一个项目
    • SeaFile 服务端文件加密存储,这个不是我需要的。
    • Daemon Sync 照片和视频同步做的很好,安装也相对简单,有兴趣可以试一试。

    正文开始

    前提条件是安装好了 dockerdocker-compose
    创建文件夹 nextcloud
    并且在nextcloud文件夹下面创建docker-compose.yml 文件。

    docker-compose.yml 文件内容如下:

    version: '2'
    
    services:
      db:
        image: ibex/debian-mysql-server-5.7
        restart: always
        volumes:
          - ./cloud/db:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=ROOT密码 # 根据需要替换
          - MYSQL_PASSWORD=数据库密码 # 根据需要替换
          - MYSQL_DATABASE=nextcloud # 根据需要替换
          - MYSQL_USER=nextcloud # 根据需要替换
    
      app:
        image: arm32v7/nextcloud
        ports:
          - 8888:80  # 端口映射,将Docker的80端口,映射成主机的8888端口。根据需要可以自行修改。
        links:
          - db
        volumes:
          - ./cloud/config:/var/www/html/config
          - /home/pi/disk/nextCloud:/var/www/html/data # 因为树莓派本身存储太小,这里是映射到一个外置2T硬盘
          - ./cloud/apps:/var/www/html/apps
        restart: always
    
    

    运行程序

    在当前目录下(nextcloud文件夹)执行下面命令,Docker会根据我们的配置,自动下载镜像并启动程序。

    $ docker-compose up -d
    

    配置数据库

    如果一切正常,这时候,访问127.0.0.1:8888 就会出现 NextCloud界面。
    第一次启动,需要配置数据库账户才可以正常使用。
    注意下图中 红色方框 中的配置参数。
    配置完毕,网盘就可以正常使用了。

    设置界面

    Nginx配置

    server {# 配置docker中的nextcloud
        listen 9090;  # 根据需要自行修改,这里是真正访问网盘的端口号。
        client_max_body_size 10G;
        location / {
            proxy_pass http://127.0.0.1:8888; # 代理转发,这个 8888  端口要和docker-compose.yml文件中参数一致
            proxy_set_header Host $http_host; # 设置一些头参数为真实的参数
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    

    番外篇

    关于树莓派的Docker镜像。

    因为树莓派是 基于 ARM 架构,所以很多镜像无法正常使用。
    适合于树莓派的版本:
    适用树莓派的NextCloud镜像
    适用树莓派的mysql镜像
    所以在上面文件中,两个镜像的地址分别是ibex/debian-mysql-server-5.7arm32v7/nextcloud

    关于外置硬盘问题:

    树莓派空间实在太小,不适合做存储。
    这里我使用了一个2T 的移动硬盘作为存储设备。
    关于挂载硬盘,并且开机自动挂载,可以参考Linux移动硬盘挂载

    添加不受信任的域名

    Nextcloud初始化完毕后,会生成 /var/www/nextcloud/config/config.php 配置文件,里面的 trusted_domains 配置项为信任域名,初始化完毕后只有一项,为主机的IP地址。可以修改该配置项,添加绑定的域名。

    'trusted_domains' => 
    array (
      0 => '127.0.0.1',
     1 => 'xxx.yyyyy.com',  # 将这个自定义域名添加到配置中
    ),
    

    使用SqLite数据库

    不想使用MySQL,或者个人使用时,可以使用Sqlite数据库,配置更简单。
    docker-compose.yml 文件内容修改如下:

    version: '2'
    
      app:
        image: arm32v7/nextcloud
        ports:
          - 8888:80
        volumes:
          - ./cloud/config:/var/www/html/config
          - /home/pi/disk/nextCloud:/var/www/html/data
          - ./cloud/apps:/var/www/html/apps
        restart: always
    

    相关文章

      网友评论

        本文标题:树莓派私有网盘全攻略(二):Docker+NextCloud+N

        本文链接:https://www.haomeiwen.com/subject/ufnvbqtx.html