搭建 Nextcloud 私有云

编辑于 2022-11-26 11:15 阅读 1544

Nextcloud 的主要功能是本地网盘,在此基础上提供一个开放平台,开发者可以提交自己的应用。包括 通话、办公、日历、联系人、邮件、笔记、图表、万能表单、密码管理、任务、看板等

Nextcloud官方提供了多种安装方式,下面介绍两种常用的

普通方式

Nextcloud 是一个php项目,所以可以像其他php项目一样部署。

下载安装包,https://download.nextcloud.com/server/releases/nextcloud-23.0.3.zip

解压到支持php的目录/var/www/nextcloud,分配一个域名nextcloud.cw.net

访问nextcloud.cw.net,根据页面提示,填写管理员信息,mysql相关信息,下一步

过一会你可能会看到页面报错了,超时了

但是你访问nextcloud.cw.net/index.php/login会发现,已经可以登录了!

docker 部署

选择镜像nextcloud:23.0.3-fpm-alpine,这里面已经包含完整的项目,所以不需要再下载安装包了

部分docker-compose.yml

  docker-nextcloud:
    image: nextcloud:23.0.3-fpm-alpine
    container_name: docker-nextcloud
    restart: always
    tty: true
    volumes:
      - ./data/www/backup:/var/www/backup
      - nextcloud:/var/www/html
    environment:
      - REDIS_HOST=docker-redis
#      - REDIS_HOST_PORT=6379
#      - REDIS_HOST_PASSWORD=
      - MYSQL_HOST=docker-mysql
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=nextcloud
#      - POSTGRES_HOST=docker-postgres
#      - POSTGRES_DB=nextcloud
#      - POSTGRES_USER=nextcloud
#      - POSTGRES_PASSWORD=nextcloud
    networks:
      - web-network

  docker-cron:
    image: nextcloud:23.0.3-fpm-alpine
    container_name: docker-cron
    restart: always
    tty: true
    volumes:
      - nextcloud:/var/www/html
    entrypoint: /cron.sh
    networks:
      - web-network

详见 https://github.com/chudaozhe/docker-nextcloud

自动配置

如果您需要在多台服务器上安装 Nextcloud,您通常不希望按照 数据库配置中所述分别设置每个实例。为此,Nextcloud 提供了自动配置功能。

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/automatic_configuration.html

效果如下图,只需填写用户名和密码即可安装

WX202204062236552x.png

应用推荐

http://www.cuiwei.net/p/1849104191

离线安装应用

应用市场下载安装包,将文件解压至Nextcloud下的apps目录/var/www/html/apps

如talk应用,spreed-v13.0.4.tar.gz,解压后/var/www/html/apps/spreed,最后在后台点安装就很快了

备份

nextcloud的数据(除了数据库)都持久化在nextcloud卷中,不易迁移。如果要获取里面的数据可以这样

docker exec -it docker-nextcloud /bin/sh
/var/www/html # cd ..
/var/www # tar -cvzf backup/html.tar.gz html/

或者这样

//将容器内的目录cp到本机`~/Downloads/nextcloud`目录
docker cp $ID:/var/www/html ~/Downloads/nextcloud

参考

https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验