Got Nextcloud going, but is it only accessible locally this way?

Was struggling to get it running following the official GitHub documentation, behind Nginx Proxy Manager. Was able to access AIO installation screen, but when putting my subdomain, I kept getting this error: “The domain is not reachable on Port 443 from within this container. Have you opened port 443/tcp in your router/firewall? If yes is the problem, most likely that the router or firewall forbids local access to your domain. You can work around that by setting up a local DNS-server.”

I tried Caddy instead, also tried running Pihole container to try the local DNS suggestion. Both containers were up and green, my 443 port on router is open, ports 443 and 80 are mapped to my server, and A record set to the public IP of the router. Still got the same error on AIO. But now, by following a youtube video, I was able to get it running locally on the local IP I set through the macvlan setup.

But I’m left wondering what is different in this type of setup? Is it only accessible locally, still?
I noticed the different installation screen than the AIO install screen, and no option or question to put my subdomain. But at least not the same annoying error and finally a working Nextcloud, and some motivation to keep going! Figuring out now how to secure it behind the Nginx, and make it accessible externally with a VPN. Being able to access it from my subdomain on a custom domain would be nice as well!

What is different from the other way of installing through the official github documentation with NPM and a subdomain?

Here is the yaml file I used:

services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:28.0.3
container_name: nextcloud
depends_on:

  • nextcloud-mariadb
    networks:
    nextcloud-network:
    ipv4_address: 10.0.0.49 #Change, your nextcloud ipaddress
    backend-network:
    environment:
  • PUID=1000 #Change to your user PUID
  • PGID=1000 #Change to your user PGID
  • TZ=America/Chicago #Change to your timezone
    volumes:
  • CHANGE_TO_COMPOSE_DATA_PATH/nextcloud/config:/config
  • CHANGE_TO_COMPOSE_DATA_PATH/nextcloud/data:/data
    restart: unless-stopped

Mariadb 10.11.6

nextcloud-mariadb:
image: lscr.io/linuxserver/mariadb:10.11.6
container_name: nextcloud-mariadb
networks:
backend-network:
environment:

  • PUID=1000 #Change to your user PUID
  • PGID=1000 #Change to your user PGID
  • TZ=America/Chicago
  • MYSQL_ROOT_PASSWORD=ENTERSECUREPASSWORD
  • MYSQL_DATABASE=nextcloud_database
  • MYSQL_USER=nextcloud-dbuser
  • MYSQL_PASSWORD=ENTERASECUREDATABASEPASSWORD
    volumes:
  • CHANGE_TO_COMPOSE_DATA_PATH/nextcloud/mariadb/config:/config
    ports:
  • 3306:3306
    restart: unless-stopped
    networks:
    backend-network:
    name: mariadb-backend-network
    nextcloud-network:
    name: local-network
    external: true

Any insight or help would be greatly appreciated!

Sounds like you were using the AIO deployment first and looks like you’ve switched to the third party LSIO image now.

There are numerous ways of installing Nextcloud. It depends a lot on your goals, preferences, and comfort level with various approaches.

Some are meant to be more turnkey, but often at the cost of rigidness. Others are building blocks, allowing you to do things exactly how you want, but at the price of more upfront leg work and understanding of the various moving parts.

Some are also simply better for certain use cases and completely inappropriate for still others.

You can see some of the other approaches here:

https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#installation-on-linux