Docker安装nextcloud以及遇到的一下问题和优化方法

  • Post author:
  • Post category:其他




安装镜像

docker pull nextcloud:latest

//mariadb 可选 
sudo docker create \
  --name=mariadb \
  -e PUID=0 \
  -e PGID=0 \
  -e MYSQL_ROOT_PASSWORD=密码 \
  -e TZ=Asia/Shanghai \
  -p 3306:3306 \
  -v /文件地址,我指定到外置硬盘上的:/config \
  --restart unless-stopped \
  linuxserver/mariadb

//redis 可选
docker pull redis:latest



启动镜像



安装nextcloud

1 注意一点,如果nextcloud指定的存储位置的硬盘格式是NTFS,启动的时候可能会提示权限不能为0777之类的,需要在config/config.php中添加

'check_data_directory_permissions' => false

用来跳过校验,如果硬盘的ext4就没有权限的问题。



设置redis

1 在config/config.php文件中添加如下

    'memcache.locking' => '\\OC\\Memcache\\Redis',
    'memcache.distributed' => '\\OC\\Memcache\\Redis',
     'redis' => 
      array (
     	'host' => '192.168.1.185',
     	'port' => 6379,
  ),



设置定时任务

1 定时任务执行cron.php定时任务,不然nextcloud会在页面刷新的时候执行,导致页面卡顿,这里借助mov的计划任务,在计划任务中添加一天计划任务即可

docker exec nextcloud(容器的名字或id) php cron.php
//如果硬盘格式是ext4 ,需要使用www-data的权限执行
docker exec --user www-data nextcloud(容器的名字或id) php cron.php



添加文件到nextcloud

1 把自己本地的文件复制到nextcloud相应的用户目录中,nextcloud中并不会显示,因为数据库中没有相应的数据,这里就需要手动执行命令,nextcloud才会把文件数据添加进数据库里

docker exec nextcloud php occ files:scan --all
//或
docker exec --user www-data nextcloud php occ files:scan --all



版权声明:本文为qq_31663099原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。