这是我第一次尝试自己运行服务器,我在绞尽脑汁试图在本地Ubuntu服务器上设置Nextcloud docker。
首先让我链接一些资源,我从:
https://www.ionos.com/digitalguide/server/configuration/nextcloud-installation-with-docker/
https://blog.ssdnodes.com/blog/installing-nextcloud-docker/
https://hub.docker.com/_/nextcloud
https://github.com/nextcloud/docker/tree/master/.examples
目标:
- 在我的本地网络上可以访问的本地Ubuntu服务器上运行Nextcloud docker和gitlab docker
- 每个docker映像(nextcloud和gitlab)需要将数据存储在与专用于该服务的操作系统不同的驱动器上(例如在128gb驱动器上运行nextcloud映像的1TB硬盘驱动器)。
- 每个服务都应该可以通过子域访问,例如cloud.mydomain.com和git.mydomain.com。
- 每个服务应该有加密的通信通道(https)。
基础设施:
- Docker映像的128GB操作系统驱动器
- 为每个服务(nextcloud, gitlab)提供2个额外的驱动器,用于保存docker-compose。
- 本地Pi Hole DNS,我的域名(现在是cloud.mydomain.com ->xxx.xxx. x.x.xx IP)指向Ubuntu服务器IP
挑战:
首先专注于Nextcloud:
我已经完成了Ionos, SSDnodes和apache/fpm示例docker-compose设置,并且无法从我的cloud.mydomain.com域访问Nextcloud。当/如果我可以访问一个UI在cloud.mydomain.com它使用http没有加密,要么有一个服务器错误或不显示(DNS解析错误)。根据日志,看起来可能缺少配置文件或权限不足(或者在某种情况下过于宽松的驱动器权限)。当我尝试使用https访问cloud.mydomain.com时,我得到一个证书错误,证书无法验证,如果我可以强制我的浏览器忽略它,我得到一个nginx 500错误。
可能的痛点:
- 开权限。 我的DNS配置错误。
- 我在docker-compose文件中设置VIRTUAL_HOST错误
- PEBCAK
任何人能提供的帮助都将不胜感激。我真的在努力让这个工作,我没有主意了。如果有人需要其他信息,请告诉我。谢谢!
好了,我弄明白了。解决方案如下:
- ionos或ssdnode指南都可以正常工作。官方的例子给了我一些问题,所以我不能评估这些。
- Ionos和ssdnode都需要一个域(在本例中是Pi Hole)作为DNS服务器,将mydomain.com指向服务器IP地址
- 在Ionos和ssdnode指南中,如果您使用外部驱动器来保存数据,则在Ionos和ssdnode指南中生成的app文件夹需要具有增强的权限(chmod 775或777)
- 如果(像我一样)您尝试了许多方法来查看哪些有效,请记住使用docker-compose down -v来刷新mariadb卷。我最近的问题是早期尝试获得Nextcloud工作的预先存在的DB
- 确保在第一次设置时,在app/config文件夹中有CAN_INSTALL
So in Conclusion:
- 首先设置Pi Hole(或其他DNS)以确保您有一个指向您的服务器IP的域
- 遵循Ionos或ssdnode指南
- 运行docker-compose up
- 立即执行:docker kill $(docker ps -a | awk '{print $1}')
- 运行:docker-compose down -v
- 运行chmod -R 777 app/
- 运行:touch ./app/config/CAN_INSTALL
- 运行:docker-compose up -d
这应该可以让您启动并运行。在我的"迷你指南"中,你可以随意删除任何不必要的东西。有些变通方法可能是多余的。