本文是 我的 B 站视频的配套文章,建议边看视频边对照本文复制命令。
环境要求
操作系统:Ubuntu 22.04 LTS
内核版本:6.x 以上
Docker:24.x +
Docker Compose:plugin 版本
内存:2GB 最低,4GB 推荐
硬盘:20GB 最低
验证环境命令:
uname -a docker --version docker compose version mkdir -p ~/nextcloud cd ~/nextcloud nano docker-compose.yml 完整配置文件如下:
services:
db:
image: mariadb:10.11
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- db_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=change_your_root_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=change_your_db_password
networks:
- nextcloud_net
redis:
image: redis:7-alpine
container_name: nextcloud-redis
restart: unless-stopped
networks:
- nextcloud_net
nextcloud:
image: nextcloud:stable
container_name: nextcloud
restart: unless-stopped
ports:
- "99:80"
volumes:
- nextcloud_data:/var/www/html
- nextcloud_config:/var/www/html/config
- nextcloud_apps:/var/www/html/custom_apps
- /home/user/nextcloud/data:/var/www/html/data
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=change_your_db_password
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_ADMIN_PASSWORD=change_your_admin_password
- NEXTCLOUD_TRUSTED_DOMAINS=你的服务器IP localhost
- REDIS_HOST=redis
- TZ=Asia/Hong_Kong
depends_on:
- db
- redis
networks:
- nextcloud_net
volumes:
db_data:
nextcloud_data:
nextcloud_config:
nextcloud_apps:
networks:
nextcloud_net:
driver: bridge 需要修改的参数:
MYSQL_ROOT_PASSWORD : 数据库 root 密码,改成强密码
MYSQL_PASSWORD : 数据库用户密码,两处保持一致
NEXTCLOUD_ADMIN_PASSWORD : Nextcloud 管理员密码
NEXTCLOUD_TRUSTED_DOMAINS : 改成你的服务器 IP
/home/user/nextcloud/data : 改成你的数据存储路径 保存退出:
Ctrl + X → Y → Enter docker compose up -d 检查容器状态:
docker compose ps 三个容器都显示 `running` 即为成功。
查看日志:
docker logs nextcloud --tail 30 浏览器打开:
http://你的服务器IP:99 用管理员账号登录,安装推荐应用,完成初始化。
部署好 Nextcloud 之后,怎么知道它还在正常运行?
这里我用了自己开发的 iOS App——OpsHome NOC。
从你的 APP中获取你的docker-compose.yml 配置加入 Docker 探针服务:
将配置传输到你的docker主机中,或者而复制其内容、粘贴、保存即可。
创建一个独立文件夹,存放配置文件。
makdir -p ~/docker-prob
cd ~/docker-prob
nano docker-compose.yml docker compose up -d OK,完成docker部署后,打开你的 iOS App OpsHome NOC,添加你的nextcloud 的内网IP地址和内网端口号,稍等几分钟,监测数据就会刷新出来,你就可以随时随地,查看你的内网docker容器的运行状态了。



🎬 备用视频链接:手把手教你在Ubuntu部署Nextcloud私有云 | Docker + OpsHome NOC内网监控完整教程
Q1:端口 99 被占用怎么办?
把 `99:80` 改成其他端口,比如 `8089:80`。
Q2:Nextcloud 提示不信任的域名?
在 `NEXTCLOUD_TRUSTED_DOMAINS` 里加上你访问时用的 IP 或域名。
Q3:忘记管理员密码怎么办?
docker exec -u www-data nextcloud \
php occ user:resetpassword admin