docker-compose部署私有云盘nextcloud教程

容器2022-08-28
docker-compose部署私有云盘nextcloud教程-下一朵云

1.系统环境

CentOS Linux release 7.9.2009 (Core)

Docker version 1.13.1, build 7d71120/1.13.1

docker-compose version 1.29.2, build 5becea4c

Nextcloud 24.0.4

(1)CentOS 7 系统镜像文件下载:

https://cloud.189.cn/t/a6rABbBnUvMv (访问码:20fc)

(2)docker 安装、启动

yum install docker -y

启动docker、并设置开机自启

systemctl start docker
systemctl enable docker

(3)docker-compose安装

https://cloud.189.cn/t/yeAVzaYVVfue (访问码:sow1)

上传docker-compose文件到 /usr/local/bin 文件夹,并配置执行权限

chmod a+x docker-compose

验证docker-compose是否安装成功

docker-compose -v
docker-compose部署私有云盘nextcloud教程-下一朵云
图1 验证docker-compose是否安装成功

2.Nextcloud安装步骤

以目前最新版本Nextcloud 20.0.4为示例,后续版本更新的话会更新的docker-compose.yml文件

docker-compose.yml文件下载:https://cloud.189.cn/t/bYzeEfbaemei (访问码:awu6)

(1)docker-compose.yml文件创建

在/root目录下,新建nextcloud文件夹,然后新建docker-compose文件,复制以下内容到文件,保存。 或者直接下载yml文件上传到/root/nextcloud文件夹下 。

version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=Orcy820root
      - MYSQL_PASSWORD=Orcy820User
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 80:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
      - /data:/var/www/html/data
    environment:
      - MYSQL_PASSWORD=Orcy820User
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

MYSQL_ROOT_PASSWORD= 数据库root用户的密码,可以自己设置。

Nexcloud的数据文件映射到宿主机的/data路径下。

(2)启动容器

执行以下命令,启动容器

cd ~/nextcloud/
docker-compose up -d

等待容器启动成功后,查看容器是否运行正常(第一次运行容器镜像需要拉取,网络较差的的情况需耐心等待)

docker ps
docker-compose部署私有云盘nextcloud教程-下一朵云
图2 成功启动容器

如图2,则启动成功。此时可以进入web界面配置

(3)web界面配置

打开浏览器输入http://服务器的IP地址,进入web界面配置

①创建管理员账号和密码

输入要设置的账号和密码,单击安装,等待安装完成进入主页面

docker-compose部署私有云盘nextcloud教程-下一朵云
图3 穿件管理员账号

②进入主界面

取消安装推荐应用,进入主页面,至此,Nextcloud的安装成功!

docker-compose部署私有云盘nextcloud教程-下一朵云
图4 安装完成

3.配置优化

docker-compose部署私有云盘nextcloud教程-下一朵云
图5 配置优化

HTTPS配置建议采用Nginx反代处理,此处略

①电子邮件服务器配置

可使用任意邮箱开启SMPT后配置,此处以自己的邮箱为例

docker-compose部署私有云盘nextcloud教程-下一朵云
图6 配置邮件服务器

②配置电话区域和默认语音

进入docker容器内,编辑config.php文件

docker exec -it nextcloud_app_1 bash

安装文件编辑器vim

* 如果容器中安装软件包下载缓慢,可以为容器的debain系统配置国内的软件源(本文略)

apt-get update
apt-get install vim -y

修改配置文件config/config.php,末尾 ); 前添加如下内容

  'default_language' => 'CN',
  'default_phone_region' => 'CN',

③安装 php-imagick 模块

“此实例中的 php-imagick 模块不支持 SVG。为了获得更好的兼容性,建议安装它。”

在docker容器中执行以下命令:

 apt-get install imagemagick -y

等待安装完成即可!安装失败可以重复执行此命令,直到安装成功。

④可选配置:配置后台任务Cron

宿主机中执行以下命令:

crontab -e

添加如下内容后,保存退出

*/5 * * * * docker exec --user www-data nextcloud_app_1 php -d memory_limit=-1 -f /var/www/html/cron.php > /dev/null

⑤可选配置:配置应用商店为国内镜像站点

解决应用安装失败、应用界面空白加载不出来。

详见=>《Nextcloud应用页面空白加载不出来、Nextcloud应用商店无法打开》

⑥配置域名访问

此时,Nextcloud的初步优化配置已经完成,域名解析后,在配置文件修改信任域名即可生产环境使用。

'trusted_domains' =>
  array (
   0 => '192.168.1.50',
   1 => 'files-test.orcy.net.cn',
   2 => '[fe80::1:50]',
),
docker-compose部署私有云盘nextcloud教程-下一朵云
图7 配置域名访问

配置HTTPS可以采用Nginx反代的方式,请访问=>《Nginx反向代理Nextcloud并配置HTTPS访问》

docker-compose部署私有云盘nextcloud教程-下一朵云
图8 配置优化完成

版权声明:本文为下一朵云发布文章,转载请附上原文出处链接和本声明。
本文链接:https://www.orcy.net.cn/2869.html

​ 广告:HCIE-Security认证课程辅导资料(付费)

3 条评论

  • 头像
    • 头像
      Walker
      2022-09-18

      每次把这个不支持SVG 解决了,升级以后,这个就又出来了,得再安装一次,这个怎么解决

    • 头像
      pony
      2022-09-19

      每次通过容器镜像升级都需要手动解决这个问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注