家庭资料存储解决方案:个人云盘搭建

前言

拖了好久,答应老婆的搭建个人云盘,一直没有搭建,最近家里也买了服务器了,那么是时候搭建了
alt text

方案选型

大模型场景下,问一下大模型,立马得到了几个选项
alt text

稍微搜索了下,立马确认了nextcloud

当然可以,以下是一个关于使用Nextcloud搭建个人云盘的博客文章大纲示例:

简介:什么是Nextcloud?

Nextcloud 是一款开源的文件同步和共享解决方案,它允许用户在自己的服务器上托管数据,并提供了一种安全、便捷的方式来存储、管理和分享文件。通过Nextcloud,用户可以创建并访问个人云存储服务,类似于Dropbox或Google Drive这样的商业服务,但具有更高的隐私保护和自定义能力。

主要是,有电脑端,mac端,android端,完美适配

安装

第一部分:准备工作

使用docker安装
本人系统已经有docker了

第二部分:安装Nextcloud

nextcloud安装参考 nextcloud-all-in-one
本人使用docker-compose 进行安装,因此编写docker-compose 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
```

看到日志:
![alt text](/2025/06/20/%E6%8A%80%E6%9C%AF/%E5%85%B6%E4%BB%96/%E4%B8%AA%E4%BA%BA%E4%BA%91%E7%9B%98%E6%90%AD%E5%BB%BA/imit_suc_log.png)

访问页面:
https://ip:port

能看到初始页面,记得记住秘钥。。我一开始就是直接跳过了。
![alt text](/2025/06/20/%E6%8A%80%E6%9C%AF/%E5%85%B6%E4%BB%96/%E4%B8%AA%E4%BA%BA%E4%BA%91%E7%9B%98%E6%90%AD%E5%BB%BA/init_page.png)

填入后,选择要安装的安装即可
这里有点坑,点击后,docker容器会无响应,也没日志,我以为假死了
通过docker容器重启,界面会发生变化,证明还是在运行的。

![alt text](/2025/06/20/%E6%8A%80%E6%9C%AF/%E5%85%B6%E4%BB%96/%E4%B8%AA%E4%BA%BA%E4%BA%91%E7%9B%98%E6%90%AD%E5%BB%BA/安装界面.png)

大概四个小时后,安装完成

![alt text](/2025/06/20/%E6%8A%80%E6%9C%AF/%E5%85%B6%E4%BB%96/%E4%B8%AA%E4%BA%BA%E4%BA%91%E7%9B%98%E6%90%AD%E5%BB%BA/安装完成.png)

之后提示

![alt text](/2025/06/20/%E6%8A%80%E6%9C%AF/%E5%85%B6%E4%BB%96/%E4%B8%AA%E4%BA%BA%E4%BA%91%E7%9B%98%E6%90%AD%E5%BB%BA/login.png)
# 踩坑记录
## https 网络暴露问题
我自己个人的网络是这样的
云服务器,有公网ip,域名指向这台,以及frps服务,通过nginx转发。
家庭服务器,docker容器,通过frpc暴露

在配置frp的时候,死活无法转发到
结果是有两个问题
1. frp转发https的模式和想象中的不一样
2. nextcloud的aio的APACHE_PORT 和不一样,他那个端口,启动就是对子容器 nextcloud-aio-apache 这个容器上暴露的端口,而不是 nextcloud-aio-master 这个容器暴露的,所以自定义配置frpc的时候,地址不要制定错误了。

3. nginx转发的时候,要转发到frp http那个端口

server {
listen 443 ssl;
server_name xx.xx.com *.xx.xx.com;
charset utf-8;
resolver 223.5.5.5;

    ssl_certificate /fullchain.pem;
    ssl_certificate_key //privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:8888;
        # proxy_http_version 1.1;

        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 REMOTE-HOST $remote_addr;
        # proxy_set_header Host $http_host;
        # proxy_set_header X-NginX-Proxy true;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        # proxy_max_temp_file_size 0;
        # proxy_redirect off;
        # proxy_read_timeout 240s;
        proxy_ssl_server_name on;
        proxy_ssl_verify off;
    }
}
1
2

2、 frp配置时,直接暴露apahce的http即可。

[nextcloud]
type = http
local_ip = nextcloud-aio-apache
local_port = 1272
subdomain = nextcloud

```

容器下载时间长

点击后,后台无日志,访问卡死,跟将死一样,让人很没安全感。
大概跑了4个小时。。。
alt text

上传图片显示图片太大

alt text

这是nginx的问题
默认情况下,Nginx 允许的最大请求体是 1MB,如果你尝试上传更大的文件,就会出现 413 Request Entity Too Large 错误。

更大的文件上传限制,文档中有写,只需增加
–env NEXTCLOUD_UPLOAD_LIMIT=16G 即可

How to adjust the upload limit for Nextcloud?