New installation of OMV and Docker Nextcloud help with network config

Hi Everyone!

I recently purchased a RockPro64 SBC with other supplies to run NextCloud on it. I’ve got it up and running and accessible from the web site interface, but I get errors from the desktop clients on iPhone, Windows 10 Pro, and Linux (Manjaro kernel 4.19)

Build Details


Nextcloud server:

RockPro64 4GB RAM (NAS Case, Tall Passive Heat Sink, Fan for NAS case)
System installed to 8GB microSD
PCI-e to Dual SATA-2 connected to two WDRed 6TB HDDs
Hardware runs Armbian OpenMediaVault aarch64 ayufan build 4.4.190-1233-rockchip-ayufan-gd3f1be0ed310
Debian version: 9 Stretch


Docker version 19.03.8, build afacb8b

Docker containers:

Container Name Docker image Networking
nextcloud linuxserver/nextcloud 80/tcp, 443/tcp
nextclouddb linuxserver/mariadb 3306/tcp
letsencrypt linuxserver/letsencrypt 0.0.0.0:81->80/tcp, 0.0.0.0:444->443/tcp

Nextcloud version: 18.0.3
There’s an update for 18.0.4 but it won’t do the upgrade, I think I have to do that through docker.

Networking:

DNS-side

Owned Domain we’ll call owned.domain
Through DNS registrar owned.domain is used for web server for another non-related project
On DNS registrar config: DDNS allowed pointed to my home network’s external IP for subdomain lab.owned.domain

Web folder structure

lab.owned.domain:445 Used to forward exteral access to OMV on OMV/NC server.
lab.owned.domain:443/nextcloud Used to forward external traffic to Nextcloud web app on OMV/NC server (via router port forwarding goes to port 444 then docker letsencrypt container on 444 then to 443 on the )
lab.owned.domain:446/nextcloud Used to forward external traffic to Nextcloud web app on OMV/NC server in case where port 443 is filtered by my ISP

ISP provided router (required by ISP)

Some devices are attached to this network, but it is not in the scope of this troubleshooting request except for being a “pass-through” device with port forwarding.

Uses DHCP with reservation for ASUS Router connection to Internet (Should this be set to static? Does it matter since all other things seem to work)

Port Forwarding

Network Port In Network Port Out To Host Notes
80 80 ASUS Router
81 81 ASUS Router
443 443 ASUS Router Possibly filtered by ISP
444 444 ASUS Router
445 445 ASUS Router

ASUS RT-AC66

Owned and 100% controlled.
Hosts different non-overlapping subnet with the OMV/Nextcloud server as well as a RaspberryPiZero running pi-hole DNS sink/proxy and LAN DNS services.

Port Forwarding

Network Port In Network Port Out To Host Notes
80 81 OMV/NC Server
81 81 OMV/NC Server
443 444 OMV/NC Server Possibly filtered by ISP
444 444 OMV/NC Server
445 445 OMV/NC Server

Working Configurations

Web browser Firefox on Manjaro Linux (also tested in Windows 10 on Firefox and Chrome) to https://lab.owned.domain/nextcloud
Web browser to https://lab.owned.domain/nextcloud/status.php

{
  "installed": true,
  "maintenance": false,
  "needsDbUpgrade": false,
  "version": "18.0.3.0",
  "versionstring": "18.0.3",
  "edition": "",
  "productname": "Nextcloud",
  "extendedSupport": false
}

iPhone Xr on iOS 13.4.1 on outside network (cellular network)
Nexcloud App v2.25.9 with website login mode

Non-working Configurations

  • iPhone Xr on iOS 13.4.1 on WiFi (same LAN/domain/subnet as nextcloud host)
    Nexcloud App v2.25.9 with website login mode
    Error request timed out
  • Nextcloud desktop app version 2.6.4git on Manjaro linux server address https:/owned.domain/nextcloud error: Timeout while trying to connect to Nextcloud at https://lab.oakcityit.net/nextcloud/status.php

I think this error with the LAN devices’ app connections is due to something with my networking but I’m not sure. There’s basically two NAT’ed routers inbetween this LAN with my nextcloud server and the Internet, which is likely confusing things.

Any help would be greatly appreciated, thanks!

Update:
Re-routed my network so it passes through the ISP router to my controlled router and everything works fine now.

Take away:
Don’t be behind two firewall/router/NAT’ing devices, especially without full control of one’s config.