前言
在数字时代,个人云存储变得愈发重要,而Docker-compose作为容器编排的瑰宝,将Nextcloud的搭建过程变得更加愉快。本文将引领您进入Nextcloud的容器化之旅,让您在CentOS的平台上轻松构建个性化的数字云空间。
基础知识
Nextcloud介绍
Nextcloud是一款强大的开源云存储和协作平台,旨在为用户提供安全、私密、自主控制的云服务。以下是Nextcloud的主要特点和功能:
- 文件同步与分享: Nextcloud允许你轻松同步和分享文件。你可以在多个设备之间同步文件夹,确保你的数据始终保持更新。
- 协作套件: 该平台内建了丰富的协作工具,包括文档编辑、日历、任务和邮件等功能,使得团队成员能够方便地共同协作。
- 端到端加密: Nextcloud提供端到端的加密功能,确保用户数据在传输和存储过程中都得到最高级别的安全保护。
- 自托管和自主控制: 你可以选择将Nextcloud部署在自己的服务器上,从而完全掌控你的数据和隐私,使得你不依赖于第三方云服务提供商。
- 应用生态系统: Nextcloud具有丰富的应用生态系统,通过插件和扩展,你可以根据自己的需求扩展平台的功能,例如视频通话、笔记和流媒体等。
- 开源: Nextcloud是一个开源项目,这意味着任何人都可以查看、修改和共享其源代码。这使得Nextcloud充满灵活性和透明度。
- 跨平台支持: 无论你使用的是Windows、Linux还是macOS,Nextcloud都提供了相应的客户端,使得在不同平台上使用变得更加便捷。
总体而言,Nextcloud提供了一个强大、灵活且安全的解决方案,使得个人用户和组织能够定制自己的云存储和协作环境。
搭建前(必看)
这个东东会依赖数据库,所以就会有两种方案
- 使用自己本身的数据库
- 新搭建一个在docker-compose中
它支持的数据库,可以根据如下图了解
编写docker-compose.yml
先建立挂载文件夹,我的是/path/to/nextcloud/data
,与下文一致
使用自己的数据库
使用自己的数据库的时候要先创建好库
version: '3' services: app: image: nextcloud restart: always ports: - "8080:80" volumes: - /path/to/nextcloud/data:/var/www/html environment: NEXTCLOUD_ADMIN_USER: your_admin_user NEXTCLOUD_ADMIN_PASSWORD: your_admin_password # 指定域名 NEXTCLOUD_TRUSTED_DOMAINS: 'cloud.todoitbo.fun' MYSQL_HOST: db:your_database_port # 指定 MySQL 服务的名称或IP地址以及端口号 MYSQL_PASSWORD: your_db_password MYSQL_DATABASE: your_existing_database_name MYSQL_USER: your_existing_database_user # 指定时区,这里也可不指定,在搭建好之后可以在控制面板指定 TZ: Asia/Shanghai
没有数据库
version: '3' services: app: image: nextcloud restart: always ports: - "8080:80" volumes: - /path/to/nextcloud/data:/var/www/html - /path/to/nextcloud/config:/var/www/html/config environment: - NEXTCLOUD_ADMIN_USER=admin - NEXTCLOUD_ADMIN_PASSWORD=admin_password - NEXTCLOUD_TRUSTED_DOMAINS=your_domain - MYSQL_HOST=db - MYSQL_PASSWORD=db_password - MYSQL_DATABASE=nextcloud - MYSQL_USER=db_user - OVERWRITEPROTOCOL=https # 设置使用 HTTPS - LANG=zh_CN.UTF-8 # 设置中文语言 depends_on: - db db: image: mariadb restart: always environment: - MYSQL_ROOT_PASSWORD=db_root_password - MYSQL_DATABASE=nextcloud - MYSQL_USER=db_user - MYSQL_PASSWORD=db_password volumes: - /path/to/mysql/data:/var/lib/mysql networks: default: external: name: your_network
启动展示
位于自己搭建docker-compose.yml的目录下执行命令docker-compose up -d
效果图