Support intro
Sorry to hear you’re facing problems. 
The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.
If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.
Getting help
In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.
Before clicking submit: Please check if your query is already addressed via the following resources:
- Official documentation (searchable and regularly updated)
- How to topics and FAQs
- Forum search
(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).
This is not really a question for support, but with a post a problem that I, a nextcloud NOOB, hit and I solved trivially but which may be useful to document when others are searching for solutions.
The Basics
This is a completely fresh and new install of Nextcloud AIO, not an upgrade.
- Nextcloud Server version (e.g., 29.x.x):
Nextcloud AIO 13.3.1
- Operating system and version (e.g., Ubuntu 24.04):
NIXOS 25.05 (Linux kernel version 6.18.3)
Summary of the issue you are facing:
Trying to install Nextcloud AIO from scratch I cannot reach my instance. The reverse proxying fails.
Steps to replicate it (hint: details matter!):
-
Follow the instructions to set up a fresh install using Traefik as reverse proxy.
- Use traefik to the redirect to following server.url:
http://nextcloud-aio-apache:11000
- Use traefik to the redirect to following server.url:
-
try to enter the domain name (I use the redacted
cloud.example.comherein) in the AIO interface - resulting in an error -
try to connect to the domain directly (e.g.
https://cloud.example.com)
Log entries
Nextcloud
The docker container starts up fine. When submitting in the domain name in the AIO interface the NOTICE in the last 4 entries appears.
(...)
nextcloud-aio-mastercontainer | [03-Jul-2026 19:32:48] NOTICE: fpm is running, pid 209
nextcloud-aio-mastercontainer | [03-Jul-2026 19:32:48] NOTICE: ready to handle connections
nextcloud-aio-mastercontainer | NOTICE: PHP message: The response of the connection attempt to "https://cloud.example.com:443" was: Bad Gateway
nextcloud-aio-mastercontainer | NOTICE: PHP message: Expected was: 688793afe50fcf4180ac94038513d3ed41323c0b9b2ac9f5
nextcloud-aio-mastercontainer | NOTICE: PHP message:
nextcloud-aio-mastercontainer | NOTICE: PHP message: Please follow https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#how-to-debug in order to debug things!PASTE HERE
Trouble shooting
Obviously the redirect did not work as the traefik HTTP service was pointing to a non-exisiting url.
I expected to find the nextcloud-aio-apache to be running, but couldn’t find it (Being fresh, I had not realized that the mastercontainer did not have the opportunity to download it yet).
After noticing in Portainer that the nextcloud-aio-domaincheck container binds to APACHE_PORT the solution was there.
This post was useful but did not quite point to the solution
Solution
a. The complidated one
During the install phase, you have to make sure that your Traefik configuration points to the domaincheck container.
services:
nextcloud:
loadBalancer:
servers:
- url: "http://nextcloud-aio-domaincheck:11000"
Once the domain check happened and the mastercontainer is downloading the containers you can change the traefik servers.url back to http://nextcloud-aio-domaincheck:11000.
(Having a dynamic directory based traefik configuration is a benefit because you do not have to restart your nextcloud container, but you can do this with labels within your docker compose too).
b. the trivial one
SKIP_DOMAIN_VALIDATION=true
Why didn’t I think of that? Well the example docker container says This should only be set to true if things are correctly configured.I am afraid I took that to literally.