当前位置: 首页 > news >正文

Nextcloud aio 非标准端口 非443端口安装

Nextcloud aio 非标准端口 非443端口安装

第一步:创建并编辑compose.yml

创建一个【compose.yml】文件在当前目录。下面的test.com要改成自己的域名。这里我是映射到了38001端口,有需要可以自己改。

services:nextcloud-aio-mastercontainer:image: ghcr.io/nextcloud-releases/all-in-one:latestinit: truerestart: alwayscontainer_name: nextcloud-aio-mastercontainer # 不可以改volumes:- nextcloud_aio_mastercontainer:/mnt/docker-aio-config- /var/run/docker.sock:/var/run/docker.sock:ronetworks:- nextcloud-aioports:- "0.0.0.0:8080:8080"- "[::]:8080:8080"environment:APACHE_PORT: 11000APACHE_IP_BINDING: "0.0.0.0"SKIP_DOMAIN_VALIDATION: trueNEXTCLOUD_MEMORY_LIMIT: 4096MNEXTCLOUD_UPLOAD_MAX_FILESIZE: 25GNEXTCLOUD_POST_MAX_SIZE: 25GNEXTCLOUD_MOUNT: /mnt/storage # 改成你自己的外部存储APACHE_MEMORY_LIMIT: 4096MNC_DOMAIN: test.com:38001 # 改成你自己的域名OVERWRITEHOS: test.com:38001# 改成你自己的域名OVERWRITEPROTOCOL: httpscaiddy:build:context: .dockerfile: Caddy.Dockerfilerestart: unless-stoppedvolumes:- type: bindsource: ./Caddyfiletarget: /etc/caddy/Caddyfile- type: bindsource: ./fullchain.cer #挂载你自己的证书和keytarget: /certs/fullchain.cer #挂载你自己的证书和key- type: bindsource: ./test.com.key #挂载你自己的证书和keytarget: /certs/test.com.key #挂载你自己的证书和key- type: volumesource: caddy_datatarget: /data- type: volumesource: caddy_configtarget: /confignetworks:- nextcloud-aioports:- "0.0.0.0:38000:38000"- "[::]:38000:38000"- "0.0.0.0:38001:38001"- "[::]:38001:38001"
volumes:nextcloud_aio_mastercontainer:name: nextcloud_aio_mastercontainer # 不可以改caddy_certs:caddy_config:caddy_data: 
networks:nextcloud-aio:name: nextcloud-aiodriver: bridgeenable_ipv6: falsedriver_opts:com.docker.network.driver.mtu: "1280" # Can be set to 9001 for jumbo framescom.docker.network.bridge.host_binding_ipv4: "127.0.0.1" # Security hardeningcom.docker.network.bridge.enable_icc: "true"com.docker.network.bridge.default_bridge: "false"com.docker.network.bridge.enable_ip_masquerade: "true"

第二步:创建并编辑Caddyfile

创建一个【Caddyfile】文件在当前目录。下面的test.com要改成自己的域名。

{layer4 {127.0.0.1:3478 {route {proxy {upstream nextcloud-aio-talk:3478}}}127.0.0.1:3479 {route {proxy {upstream nextcloud-aio-talk:3479}}}}
}https://test.com:38001 {tls /certs/fullchain.cer /certs/test.com.keyreverse_proxy nextcloud-aio-apache:11000 {header_up X-Forwarded-Proto "https"header_up Host {host}}
}http://test.com:38000 {reverse_proxy nextcloud-aio-apache:11000 {header_up X-Forwarded-Proto "http"header_up Host {host}}
}

第三步:创建并编辑Caddy.Dockerfile

创建一个【caddy.Dockerfile】文件在当前目录

FROM caddy:2.9.1-builder-alpine AS builder
RUN xcaddy build --with github.com/mholt/caddy-l4@87e3e5e2c7f986b34c0df373a5799670d7b8ca03FROM caddy:2.9.1-alpine
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

第四步:运行

1、运行docker compose

docker compose up -d

2、访问8080端口,https://192.168.0.2:8080/完成初始化,初始化的时候会要求填域名,域名一定要填带端口的,比如test.com:38001,否则只能重装。

常见问题解决方案

问题1:没有外网域名怎么办?

答:上https://dynv6.com/免费申请一个,非常快。

问题2:没有证书怎么办?

答:申请一个证书。拿到dynv6域名之后,登录dynv6的页面,拿到token,再回到服务器输入以下命令:

curl https://get.acme.sh | sh -s email=你的email@email.com
export DYNV6_TOKEN="你的Token"
acme.sh --issue --dns dns_dynv6 -d 你的域名.dynv6.net

问题3:初始化下载页面非常慢,怎么办

答:因为镜像都在国外,所以下载非常慢,自己挂个代理即可。

问题4:没有公网IPV4地址怎么办?

答:现在的运营商一般都会有IPv6地址,申请到域名之后再在服务器上面配置DDNS动态解析即可。如果需要IPv4访问则试下花生壳或者FRP。

参考

[1] [知乎]: https://zhuanlan.zhihu.com/p/2027174873110253955

[2] [github]:
https://github.com/nextcloud/all-in-one/discussions/5439

http://www.jsqmd.com/news/1406810/

相关文章:

  • ClimaX进阶实践:完整复现论文中的全球天气预报实验
  • WebRTC生态之流媒体传输协议简介(一):RTMP、HLS、MPEG-DASH、HTTP-FLV、SRT、WHIP、WHEP、RTSP、RTP、RTCP、SDP
  • YOLOv5目标检测模型训练全流程:从数据标注到模型部署实战
  • mesh-llm 新手避坑清单:10 个最常见问题与解决方案
  • UI 着色器指南:URP-LWRP-Shaders 中圆角、描边与动画纹理 UI 特效实现
  • LFM2.5-1.2B-Instruct-4bit 常见问题排查:5 大踩坑与快速解决方案
  • mesh-llm 自动调优指南:benchmark tune 帮你找到最优推理参数
  • 覆盖12+编程语言:palenight.vim 多语言语法高亮适配详解
  • Android x86 安装与优化指南:在电脑上运行安卓系统
  • rtlamr 实测:RTL-SDR 收 900MHz 智能电表 ERT 广播,三行命令跑起来
  • VS Code配置第三方C库:从uthash到头文件与库链接实战
  • 实战演练:用 readme-checklist 把一份糟糕的README改写成爆款文档
  • Windows 10 跑安卓应用别再靠模拟器,WSA-Windows-10 完整上手记录
  • ControlNet-v1-1_fp16_safetensors 终极实战指南:五步解决“结构准、质感差“的图像控制难题
  • 16款提升Java开发效率的IDEA插件实战指南
  • 多语言能力测评:NVIDIA-Nemotron-3.5-Lightning-30B-A3B-mxfp8中英日法德西6语对话对比
  • PyQt-Frameless-Window 自定义标题栏完全指南:从 TitleBar 到 StandardTitleBar
  • GRUB引导故障修复:解决normal.mod not found错误与双系统引导修复
  • Windows 11 Git所有权错误:dubious ownership的根源与5种解决方案
  • CellChat单细胞通讯分析:从原理到实战,解锁细胞社会网络
  • 如何把任意网页元素一键导出为高清图片?零依赖 DOM 截图引擎实战
  • Linux Cron定时任务实战:编写可靠每分钟执行的Shell脚本
  • IDEA中Git Merge Request全流程操作指南与最佳实践
  • 如何用TYZRNEditor获取编辑内容:getContentString与getTitleString方法实战
  • 排列难题的优雅解法:diar_streaming_sortformer_4spk-v2按到达顺序还原说话人身份的底层原理
  • Excel数字格式问题解析:前导零、科学计数法与数据导入导出实战
  • GetQzonehistory使用教程:5步快速备份QQ空间全部历史说说
  • ESP32-Camera 摄像头驱动库完整上手指南:从零驱动摄像头到输出视频流
  • Ubuntu网络图标消失?手把手教你诊断网卡驱动与恢复网络连接
  • Linux定时任务Cron实战:每分钟执行Shell脚本的完整指南