0 准备工作
安装Docker、Docker compose以及Nginx Proxy Manager
一键脚本
curl -sS -O https://raw.githubusercontent.com/ecouus/Shell/main/ecouu.sh && sudo chmod +x ecouu.sh && ./ecouu.sh
1.1 基础文件
创建文件
sudo -i
mkdir -p /home/dc/aio-nextcloud
cd /home/dc/aio-nextcloud
nano docker-compose.yml
粘贴以下内容后 ctrl+x y enter(回车)即完成保存
文件内容:
version: "3.8"
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
services:
nextcloud:
image: nextcloud/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8090:8080 # change the port on the left side if it's already in use on your host system.
environment:
- APACHE_PORT=11000 # change this port number if 11000 is already in use on your host system.
- APACHE_DISABLE_REWRITE_IP=1
- NEXTCLOUD_TRUSTED_DOMAINS=a.com 1.1.1.1 # Your domain name + proxy host IP
- TRUSTED_PROXIES=1.1.1.1 # proxy host IP
需要修改的变量:
- NEXTCLOUD_TRUSTED_DOMAINS=a.com 1.1.1.1 更换为对应的域名和反代机的IP
- TRUSTED_PROXIES=1.1.1.1 更换为反代机的IP
启动Docker
docker compose up -d
2. 反向代理
本教程采用NPM面板为例演示
填写 域名、IP 和 端口,按上述配置文件应为 11000
SSL设置
Advanced中填写以下内容:
client_body_buffer_size 512k;
proxy_read_timeout 86400s;
client_max_body_size 0;
3. 初始化安装
输入https://ip:8090
https://不要漏了!否则无法访问
登录nextcloud后台安装页面,会提示不安全,点击“高级”,继续访问。注意保存后台密码
根据提示一步一步安装即可(将页面翻译为中文)
要点:
- 首次安装填入域名提交即可
- 按需勾选安装的插件,个别功能对配置要求较高
- 备份路径填写
/home/dc/aio-nextcloud/backup
- 时区填写:
Asia/Shanghai
或America/Los_Angeles
这项影响不大,尽量和服务器时区对应即可,否则后台会显示安全与设置警告,但不影响正常使用
Tips:
备份与迁移:
前面步骤均相同,但进入安装页面时不要先填入域名,而是选择恢复选项
- 迁移时需在restore中填入备份文件路径/home/dc/aio-nextcloud/backup以及备份密码即可迁移, 因此不仅要保存好备份文件、路径,也要保存好文件的密码。
0 准备工作
安装Docker、Docker compose以及Nginx Proxy Manager
一键脚本
curl -sS -O https://raw.githubusercontent.com/ecouus/Shell/main/ecouu.sh && sudo chmod +x ecouu.sh && ./ecouu.sh
1.1 基础文件
创建文件
sudo -i
mkdir -p /home/dc/aio-nextcloud
cd /home/dc/aio-nextcloud
nano docker-compose.yml
粘贴以下内容后 ctrl+x y enter(回车)即完成保存
文件内容:
version: "3.8"
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
services:
nextcloud:
image: nextcloud/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8090:8080 # change the port on the left side if it's already in use on your host system.
environment:
- APACHE_PORT=11000 # change this port number if 11000 is already in use on your host system.
- APACHE_DISABLE_REWRITE_IP=1
- NEXTCLOUD_TRUSTED_DOMAINS=a.com 1.1.1.1 # Your domain name + proxy host IP
- TRUSTED_PROXIES=1.1.1.1 # proxy host IP
需要修改的变量:
- NEXTCLOUD_TRUSTED_DOMAINS=a.com 1.1.1.1 更换为对应的域名和反代机的IP
- TRUSTED_PROXIES=1.1.1.1 更换为反代机的IP
启动Docker
docker compose up -d
2. 反向代理
本教程采用NPM面板为例演示
填写 域名、IP 和 端口,按上述配置文件应为 11000
SSL设置
Advanced中填写以下内容:
client_body_buffer_size 512k;
proxy_read_timeout 86400s;
client_max_body_size 0;
3. 初始化安装
输入https://ip:8090
https://不要漏了!否则无法访问
登录nextcloud后台安装页面,会提示不安全,点击“高级”,继续访问。注意保存后台密码
根据提示一步一步安装即可(将页面翻译为中文)
要点:
- 首次安装填入域名提交即可
- 按需勾选安装的插件,个别功能对配置要求较高
- 备份路径填写
/home/dc/aio-nextcloud/backup
- 时区填写:
Asia/Shanghai
或America/Los_Angeles
这项影响不大,尽量和服务器时区对应即可,否则后台会显示安全与设置警告,但不影响正常使用
Tips:
备份与迁移:
前面步骤均相同,但进入安装页面时不要先填入域名,而是选择恢复选项
- 迁移时需在restore中填入备份文件路径/home/dc/aio-nextcloud/backup以及备份密码即可迁移, 因此不仅要保存好备份文件、路径,也要保存好文件的密码。
更换域名:
- 创建备份: 确保你有当前配置和数据的备份,以防止操作过程中出现错误导致数据丢失。
编辑配置文件: 运行以下命令以访问并编辑
configuration.json
文件:sudo docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"
在编辑器中找到
"domain": "a.com"
和"AIO_URL": "1.1.1.1:8090"
。将它们替换为你的新域名和相应的新URL(运行nextcloud服务的服务器IP+端口
)- 重启容器: 进入管理后台,停止所有容器,重新启动即可
卸载:
docker compose down
docker rm -v nextcloud-aio-borgbackup nextcloud-aio-apache nextcloud-aio-notify-push nextcloud-aio-nextcloud nextcloud-aio-imaginary nextcloud-aio-fulltextsearch nextcloud-aio-clamav nextcloud-aio-redis nextcloud-aio-database nextcloud-aio-collabora nextcloud-aio-domaincheck
docker rmi nextcloud/aio-borgbackup:latest nextcloud/aio-apache:latest nextcloud/aio-notify-push:latest nextcloud/aio-nextcloud:latest nextcloud/aio-imaginary:latest nextcloud/aio-clamav:latest nextcloud/aio-redis:latest nextcloud/aio-postgresql:latest nextcloud/aio-collabora:latest