Docker部署NextCloud

Nextcloud是一款网盘软件,有极大的生态,ios/Android也有客户端软件,还能自动同步手机数据,支持同步ios实况图片,能配置redis,添加的外部存储包括Amazon
S3/Minio等等。
要想在Docker里的NextCloud添加外部存储,必须在Docker Compose里添加volume。

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
37
# ~/srv/docker/nextcloud/docker-compose.yml
volumes:
nextcloud:
db:

services:
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- /mnt/sdd1/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud

app:
image: nextcloud
# build: .
restart: always
ports:
- 7080:80
links:
- db
volumes:
- /mnt/nvme0n1p7/celiae/nextcloud/html:/var/www/html
- /mnt/sdb1:/mnt/sdb1
- /mnt/sdc1:/mnt/sdc1
- /mnt/sdd1/nextcloud/data:/var/www/html/data
- /mnt/sdd1/nextcloud_sdd1_external:/mnt/sdd1
environment:
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
1
docker-compose up -d # 启用

此时,其他主机可能无法访问,提示没有trust,那是没有添加IP为信任IP。添加重启即可。

  • 宿主路径 /mnt/nvme0n1p7/celiae/nextcloud/html/config/config.php
  • Docker路径 /var/www/html/config/config.php
1
2
3
4
5
6
# /var/www/html/config/config.php
'trusted_domains' =>
array (
0 => 'localhost:7080',
1 => '192.168.1.200:7080',
),

再次启动,应用配置。

1
2
docker-compose stop # 关闭
docker-compose up -d # 启用
作者

celiae

发布于

2025-02-16

更新于

2025-02-16

许可协议

CC BY-NC-SA 4.0