VPS搭建Nextcloud私有云盘:文件同步、日历和协作办公一条龙

Docker Compose部署Nextcloud+MariaDB,Nginx HTTPS反代和手机照片自动备份
发布于
2

百度网盘限速、iCloud空间不够、OneDrive企业版太贵——在VPS上搭个Nextcloud,所有文件存在你自己的服务器上。Nextcloud不只是网盘,还能同步通讯录、日历、在线协作编辑文档,支持手机自动备份照片。

Docker一键部署Nextcloud

mkdir nextcloud && cd nextcloud
nano docker-compose.yml
version: '3'
services:
  db:
    image: mariadb:10.11
    restart: always
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: 强密码
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: 设个密码

  nextcloud:
    image: nextcloud:latest
    restart: always
    ports:
      - "8080:80"
    volumes:
      - ./data:/var/www/html
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: 和上面一样
    depends_on:
      - db
docker compose up -d
# 访问 http://VPS_IP:8080 创建管理员账号

Nextcloud初始化时选择MariaDB作为数据库——不要用默认SQLite,数据多了之后SQLite撑不住。数据库信息:主机名填db(docker-compose里定义的服务名)、数据库名nextcloud、用户名密码和上面设的一致。

雨云VPS跑Nextcloud建议至少2核2G——Nextcloud本身不重但PHP+MariaDB+文件预览会吃内存。优惠码 admin01 首月五折。硬盘空间按需来,如果只是同步文档和照片,20GB起步;如果要当主力网盘替代百度网盘,50GB以上。

配置HTTPS和域名

apt install nginx certbot python3-certbot-nginx -y
nano /etc/nginx/sites-available/nextcloud

# 配置
server {
    listen 80;
    server_name cloud.你的域名.com;
    client_max_body_size 10G;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d cloud.你的域名.com

手机端自动备份照片

Nextcloud的iOS/Android客户端都支持自动上传手机照片——打开APP→设置→自动上传→选”仅WiFi”或”WiFi和移动数据”→照片自动备份到服务器。这个功能单这一个就值回VPS月费——iCloud 200GB每月21元、Google One 100GB每月15元。自建Nextcloud存储成本取决于VPS硬盘大小,自己控制。

Nextcloud能做什么

功能 哪来的 说明
文件同步和分享 内置 和百度网盘一样,支持分享链接、密码、有效期
在线文档编辑 装Nextcloud Office插件 浏览器里直接编辑Word/Excel/PPT,协作编辑
日历和联系人同步 内置 CalDAV/CardDAV,手机日历和通讯录同步到服务器
相册 内置 自动备份手机照片,按日期/地点浏览
视频通话 装Talk插件 类似Zoom,但服务器在你手里
密码管理 装Passwords插件 团队共享密码,浏览器自动填充

备份和容灾

自建云盘最大的风险不是不好用,是数据丢了没地方恢复。Nextcloud数据分两部分:数据库(./db目录)和文件(./data目录)。备份脚本:

cd /path/to/nextcloud
docker compose exec db mysqldump -u nextcloud -p密码 nextcloud > backup_db.sql
tar -czf nextcloud-backup-$(date +%Y%m%d).tar.gz data/ backup_db.sql
# 传到COS或另一台VPS

再加VPS快照当二次保险——VPS控制台每周自动快照整盘。

常见问题

Nextcloud上传文件速度慢?

PHP默认上传限制2MB,改三个地方:docker-compose.yml加PHP_UPLOAD_LIMIT=10G;Nginx设client_max_body_size 10G;Nextcloud后台→设置→系统→调整文件大小限制。三个缺一不可。

Nextcloud占用多少存储?

Nextcloud本身约500MB。存储占用=你的文件+缩略图+数据库。实际可用空间=VPS硬盘-5GB。文件多了数据库也会变大——10万张照片元数据约1GB数据库空间。

和Syncthing有什么区别?

Syncthing是点对点文件同步,没有Web界面、不能在线浏览文件。Nextcloud是有完整Web界面的云盘平台——在线看照片、编辑文档、分享链接给别人。Syncthing适合设备间同步,Nextcloud适合取代网盘。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600