1. Docker部署方法:
1.1 github仓库
https://github.com/nextcloud/server
1.2 新建docker-compose.yml
version: '3.7'
services:
db:
image: mariadb:10.5
container_name: nextcloud-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: your_db_root_password
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: your_db_password
volumes:
- ./db:/var/lib/mysql
app:
image: nextcloud:latest
container_name: nextcloud-app
restart: unless-stopped
ports:
- "9840:80"
links:
- db
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: your_db_password
volumes:
- ./data:/var/www/html
MYSQL_ROOT_PASSWORD是数据库root用户密码
MYSQL_DATABASE是数据库库名
MYSQL_USER是这个库下的用户名
MYSQL_PASSWORD是这个库下的密码
1.3 docker运行
docker compose up -d
版本较低的docker可以用
docker-compose up -d
2. 搬家
2.1 搬家原理
docker compose up -d 命令执行完毕以后,docker-compose.yml 所在目录会多出data和db两个文件夹,分别是app的数据存储和数据库的数据存储,那么你要是需要搬家了,只需要打包这两个文件夹和docker-compose.yml变成一个压缩包,到新的地方后解压出来这两个文件夹和docker-compose.yml文件,然后执行步骤1.3 即可

3. 疑难杂症
3.1 添加反代后资源加载不出来
首先找到该反代配置文件,然后按照如下格式修改
server {
listen 80;
server_name yupan.anyuer.club;
# 最大上传大小
client_max_body_size 10240M;
location / {
proxy_pass http://127.0.0.1:9840;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_redirect off;
# 重要,防止路径问题
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
# 针对静态资源,缓存30天
location ~* \.(?:css|js|woff2?|svg|gif|map)$ {
proxy_pass http://127.0.0.1:9840;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
expires 30d;
access_log off;
}
}
然后找到之前给大家说的data文件夹,进入data/config 找到 config.php,检车如下内容是否符合样本

进入app容器终端,输入命令
php occ maintenance:update:htaccess
