Initial AIO not working with domain

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

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:

(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).

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • Nextcloud AIO v11.11.0 (2025 Autumn)

  • Operating system and version (e.g., Ubuntu 24.04):
    • Mint 21.3
  • Web server and version (e.g, Apache 2.4.25):
    • Docker/nextloud-aio-apache
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • nextloud-aio-apache
  • PHP version (e.g, 8.3):
    • Docker
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • I replaced my original Docker NextCloud instance with AIO
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO - Docker
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

I had a previous instance of NextCloud installed on this machine and it was working with the domain binding (firewall open, port forwarded through router) and my domain is setup through DDNS with Asus (not sure if that should matter). The docker-compose file I used previously used nginx and lets encrypt for the reverse proxy but just the base image for NextCloud. With aio that shouldn’t be necessary, but I’m having difficulties troubleshoot the issue.

Everything seems to be setup correctly. I’ve visited much of the documentation including Reverse Proxy - How to debug things. I can run a bunch of test and nothing seems to be obviously broken. Below are some logs from the nextcloud-aio-apache container, the only thing I can think of is the binding isn’t correct, when I connect to the domain it gives an NS_ERROR_CONNECTION_REFUSED.

If I go to localhost:13500 it tries to redirect to the domain but that’s about it.

Steps to replicate it (hint: details matter!):

  1. I ran this docker-compose.yml file
services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    container_name: nextcloud-aio-mastercontainer
    init: true               # --init
    restart: always          # --restart always
    ports:                   # --publish
      - "8443:8443"
      - "8080:8080"
    environment:             # --env
      APACHE_PORT: 13500     # from command
      APACHE_IP_BINDING: 0.0.0.0
      SKIP_DOMAIN_VALIDATION: "true"
    volumes:                 # --volume
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro

volumes:
  nextcloud_aio_mastercontainer: {}

Log entries

Nextcloud

2025-11-23T15:36:56.342163505Z Connection to nextcloud-aio-database (172.21.0.7) 5432 port [tcp/postgresql] succeeded!
2025-11-23T15:36:58.386801212Z               now              
2025-11-23T15:36:58.386822215Z -------------------------------
2025-11-23T15:36:58.386825911Z  2025-11-23 15:36:58.384869+00
2025-11-23T15:36:58.386828702Z (1 row)
2025-11-23T15:36:58.386831354Z 
2025-11-23T15:36:58.393272825Z + '[' -f /dev-dri-group-was-added ']'
2025-11-23T15:36:58.393668694Z ++ find /dev -maxdepth 1 -mindepth 1 -name dri
2025-11-23T15:36:58.394378343Z + '[' -n '' ']'
2025-11-23T15:36:58.394391051Z + set +x
2025-11-23T15:36:58.406048564Z Enabling Imagick...
2025-11-23T15:37:00.008549260Z WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/main: No such file or directory
2025-11-23T15:37:00.008579416Z WARNING: opening from cache https://dl-cdn.alpinelinux.org/alpine/v3.22/community: No such file or directory
2025-11-23T15:37:00.052172383Z Connection to nextcloud-aio-redis (172.21.0.8) 6379 port [tcp/redis] succeeded!
2025-11-23T15:37:02.254580767Z Applying one-click-instance settings...
2025-11-23T15:37:02.779266787Z System config value one-click-instance set to boolean true
2025-11-23T15:37:03.258650896Z System config value one-click-instance.user-limit set to integer 100
2025-11-23T15:37:03.792757822Z System config value one-click-instance.link set to string https://nextcloud.com/all-in-one/
2025-11-23T15:37:04.295268311Z support already enabled
2025-11-23T15:37:04.311050810Z Adjusting log files...
2025-11-23T15:37:04.827838515Z System config value upgrade.cli-upgrade-link set to string https://github.com/nextcloud/all-in-one/discussions/2726
2025-11-23T15:37:05.366188942Z System config value logfile set to string /var/www/html/data/nextcloud.log
2025-11-23T15:37:05.934556654Z Config value were not updated
2025-11-23T15:37:06.508177612Z System config value updatedirectory set to string /nc-updater
2025-11-23T15:37:07.043172477Z System config value maintenance_window_start set to integer 100
2025-11-23T15:37:07.065365862Z Applying network settings...
2025-11-23T15:37:07.568872254Z System config value allow_local_remote_servers set to boolean true
2025-11-23T15:37:08.085712111Z System config value davstorage.request_timeout set to integer 3600
2025-11-23T15:37:08.625762773Z System config value trusted_domains => 1 set to string shibbyrouter.asuscomm.com
2025-11-23T15:37:09.106820829Z System config value overwrite.cli.url set to string https://shibbyrouter.asuscomm.com/
2025-11-23T15:37:09.515665213Z System config value documentation_url.server_logs set to string https://github.com/nextcloud/all-in-one/discussions/5425
2025-11-23T15:37:09.933297780Z System config value htaccess.RewriteBase set to string /
2025-11-23T15:37:10.356072017Z .htaccess has been updated
2025-11-23T15:37:10.788758138Z System config value dbpersistent set to boolean false
2025-11-23T15:37:11.217067981Z System config value auth.bruteforce.protection.enabled set to boolean true
2025-11-23T15:37:11.634789973Z System config value ratelimit.protection.enabled set to boolean true
2025-11-23T15:37:12.052097623Z System config value files_external_allow_create_new_local set to boolean false
2025-11-23T15:37:18.256761649Z notify_push is up-to-date or no updates could be found
2025-11-23T15:37:18.703386263Z System config value trusted_proxies => 0 set to string 127.0.0.1
2025-11-23T15:37:19.146883994Z System config value trusted_proxies => 1 set to string ::1
2025-11-23T15:37:19.594777661Z System config value trusted_proxies => 10 set to string 172.21.0.0/16
2025-11-23T15:37:20.043230473Z Config value were not updated
2025-11-23T15:37:20.056674759Z + echo nextcloud-aio-collabora
2025-11-23T15:37:20.056693417Z + grep -q 'nextcloud-.*-collabora'
2025-11-23T15:37:20.057674068Z + COLLABORA_HOST=shibbyrouter.asuscomm.com
2025-11-23T15:37:20.057684030Z + set +x
2025-11-23T15:37:20.931258439Z richdocuments is up-to-date or no updates could be found
2025-11-23T15:37:21.355858789Z Config value 'wopi_url' for app 'richdocuments' is now set to 'https://shibbyrouter.asuscomm.com/', stored as mixed in fast cache
2025-11-23T15:37:22.332507113Z No IPv6 address found for shibbyrouter.asuscomm.com.
2025-11-23T15:37:22.750721348Z Config value were not updated
2025-11-23T15:37:22.763633871Z + '[' -z '' ']'
2025-11-23T15:37:22.763650878Z + TALK_HOST=shibbyrouter.asuscomm.com
2025-11-23T15:37:22.763653557Z + HPB_PATH=/standalone-signaling/
2025-11-23T15:37:22.763655587Z + '[' -z '' ']'
2025-11-23T15:37:22.763657563Z + TURN_DOMAIN=shibbyrouter.asuscomm.com
2025-11-23T15:37:22.763659556Z + set +x
2025-11-23T15:37:23.634409695Z spreed is up-to-date or no updates could be found
2025-11-23T15:37:24.909525229Z Connection to nextcloud-aio-talk-recording (172.21.0.10) 1234 port [tcp/*] succeeded!
2025-11-23T15:37:25.325111658Z Config value were not updated
2025-11-23T15:37:25.750200908Z System config value enabledPreviewProviders => 0 set to string OC\Preview\Imaginary
2025-11-23T15:37:26.165236461Z System config value enabledPreviewProviders => 23 set to string OC\Preview\ImaginaryPDF
2025-11-23T15:37:26.584865863Z System config value preview_imaginary_url set to string http://nextcloud-aio-imaginary:9000
2025-11-23T15:37:27.017333359Z System config value preview_imaginary_key set to string 42ba85ef1ef49101e492c9a73a0e31eb9fbb7340b7722d7c
2025-11-23T15:37:27.031495135Z Connection to nextcloud-aio-fulltextsearch (172.21.0.9) 9200 port [tcp/*] succeeded!
2025-11-23T15:37:27.921088422Z fulltextsearch is up-to-date or no updates could be found
2025-11-23T15:37:28.783635879Z fulltextsearch_elasticsearch is up-to-date or no updates could be found
2025-11-23T15:37:29.672966184Z files_fulltextsearch is up-to-date or no updates could be found
2025-11-23T15:37:30.087082583Z {
2025-11-23T15:37:30.087101801Z     "app_navigation": false,
2025-11-23T15:37:30.087104798Z     "search_platform": "OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform",
2025-11-23T15:37:30.087107508Z     "collection_internal": "local",
2025-11-23T15:37:30.087109887Z     "cron_err_reset": 1763843348,
2025-11-23T15:37:30.087112030Z     "tick_ttl": 1800,
2025-11-23T15:37:30.087114116Z     "collection_indexing_list": 50,
2025-11-23T15:37:30.087116186Z     "collection_links": []
2025-11-23T15:37:30.087118235Z }
2025-11-23T15:37:30.497604287Z {
2025-11-23T15:37:30.497643484Z     "fields_limit": 10000,
2025-11-23T15:37:30.497647263Z     "elastic_host": "http:\/\/elastic:85900de135c3b32ff36ecb332e8409df520d01fe0bebce8d@nextcloud-aio-fulltextsearch:9200",
2025-11-23T15:37:30.497649847Z     "elastic_index": "nextcloud-aio",
2025-11-23T15:37:30.497651906Z     "elastic_logger_enabled": false,
2025-11-23T15:37:30.497653937Z     "analyzer_tokenizer": "standard",
2025-11-23T15:37:30.497656010Z     "allow_self_signed_cert": false
2025-11-23T15:37:30.497658096Z }
2025-11-23T15:37:30.911473204Z An unhandled exception has been thrown:
2025-11-23T15:37:30.911508803Z TypeError: OC\AppFramework\Services\AppConfig::setAppValueBool(): Argument #2 ($value) must be of type bool, string given, called in /var/www/html/custom_apps/files_fulltextsearch/lib/Service/ConfigService.php on line 57 and defined in /var/www/html/lib/private/AppFramework/Services/AppConfig.php:180
2025-11-23T15:37:30.911512071Z Stack trace:
2025-11-23T15:37:30.911514177Z #0 /var/www/html/custom_apps/files_fulltextsearch/lib/Service/ConfigService.php(57): OC\AppFramework\Services\AppConfig->setAppValueBool('files_pdf', '1')
2025-11-23T15:37:30.911516799Z #1 /var/www/html/custom_apps/files_fulltextsearch/lib/Command/Configure.php(52): OCA\Files_FullTextSearch\Service\ConfigService->setConfig(Array)
2025-11-23T15:37:30.911519208Z #2 /var/www/html/3rdparty/symfony/console/Command/Command.php(326): OCA\Files_FullTextSearch\Command\Configure->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
2025-11-23T15:37:30.911522110Z #3 /var/www/html/core/Command/Base.php(218): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
2025-11-23T15:37:30.911524721Z #4 /var/www/html/3rdparty/symfony/console/Application.php(1078): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
2025-11-23T15:37:30.911527296Z #5 /var/www/html/3rdparty/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand(Object(OCA\Files_FullTextSearch\Command\Configure), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
2025-11-23T15:37:30.911552383Z #6 /var/www/html/3rdparty/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
2025-11-23T15:37:30.911555392Z #7 /var/www/html/lib/private/Console/Application.php(187): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
2025-11-23T15:37:30.911558471Z #8 /var/www/html/console.php(90): OC\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput))
2025-11-23T15:37:30.911560645Z #9 /var/www/html/occ(33): require_once('/var/www/html/c...')
2025-11-23T15:37:32.212528824Z #10 {main}whiteboard is up-to-date or no updates could be found
2025-11-23T15:37:32.630056455Z Config value were not updated
2025-11-23T15:37:33.043541737Z Config value were not updated
2025-11-23T15:37:33.071272702Z + '[' true = true ']'
2025-11-23T15:37:33.071337038Z + '[' 13500 = 443 ']'
2025-11-23T15:37:33.071342445Z + set +x
2025-11-23T15:37:33.294972894Z /usr/lib/python3.12/site-packages/supervisor/options.py:13: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
2025-11-23T15:37:33.295011294Z   import pkg_resources
2025-11-23T15:37:34.370060360Z Waiting for nextcloud-aio-apache to become available...
2025-11-23T15:37:34.491898641Z [23-Nov-2025 15:37:34] NOTICE: fpm is running, pid 284
2025-11-23T15:37:34.491916439Z [23-Nov-2025 15:37:34] NOTICE: ready to handle connections
2025-11-23T15:37:49.376272613Z Connection to nextcloud-aio-apache (172.21.0.13) 13500 port [tcp/*] succeeded!
2025-11-23T15:37:49.385593550Z Activating Collabora config...
2025-11-23T15:37:49.832994318Z ✓ Set WOPI url to http://nextcloud-aio-apache:23973
2025-11-23T15:37:49.833049392Z ✓ Set callback url to http://nextcloud-aio-apache:23973
2025-11-23T15:37:49.833053692Z Checking configuration
2025-11-23T15:37:49.833056576Z 🛈 Configured WOPI URL: http://nextcloud-aio-apache:23973
2025-11-23T15:37:49.833059476Z 🛈 Configured public WOPI URL: https://shibbyrouter.asuscomm.com
2025-11-23T15:37:49.833062278Z 🛈 Configured callback URL: http://nextcloud-aio-apache:23973
2025-11-23T15:37:49.833078577Z 
2025-11-23T15:37:49.884099896Z ✓ Fetched /hosting/discovery endpoint
2025-11-23T15:37:49.885738666Z ✓ Valid mimetype response
2025-11-23T15:37:49.887483271Z ✓ Valid capabilities entry
2025-11-23T15:37:49.912793777Z ✓ Fetched /hosting/capabilities endpoint
2025-11-23T15:37:49.912843307Z ✓ Detected WOPI server: Collabora Online Development Edition 25.04.6.2
2025-11-23T15:37:49.914782524Z 
2025-11-23T15:37:49.914796463Z Collabora URL (used for Nextcloud to contact the Collabora server):
2025-11-23T15:37:49.914799835Z   http://nextcloud-aio-apache:23973
2025-11-23T15:37:49.914802520Z Collabora public URL (used in the browser to open Collabora):
2025-11-23T15:37:49.914805153Z   https://shibbyrouter.asuscomm.com
2025-11-23T15:37:49.914807582Z Callback URL (used by Collabora to connect back to Nextcloud):
2025-11-23T15:37:49.914810110Z   http://nextcloud-aio-apache:23973

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

NS_ERROR_CONNECTION_REFUSED for shibbyrouter.asuscomm.com
PR_END_OF_FILE_ERROR for localhost

Web server / Reverse Proxy

These are logs from nextcloud-aio-apache, I notice that the Caddyfile seems to be from /tmp/Caddyfile so I’m wondering if that’s an issue or a red herring?

2025-11-23T15:13:51.381519547Z Connection to nextcloud-aio-nextcloud (172.21.0.12) 9000 port [tcp/*] succeeded!
2025-11-23T15:13:51.715619121Z /usr/lib/python3.12/site-packages/supervisor/options.py:13: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
2025-11-23T15:13:51.715645311Z   import pkg_resources
2025-11-23T15:13:52.814778008Z [Sun Nov 23 15:13:52.814385 2025] [mpm_event:notice] [pid 40:tid 40] AH00489: Apache/2.4.65 (Unix) configured -- resuming normal operations
2025-11-23T15:13:52.814805277Z [Sun Nov 23 15:13:52.814447 2025] [core:notice] [pid 40:tid 40] AH00094: Command line: '/usr/local/apache2/bin/httpd -D FOREGROUND'
2025-11-23T15:13:52.817996933Z {"level":"info","ts":1763910832.8177898,"msg":"maxprocs: Leaving GOMAXPROCS=8: CPU quota undefined"}
2025-11-23T15:13:52.818089151Z {"level":"info","ts":1763910832.8179793,"msg":"GOMEMLIMIT is updated","package":"github.com/KimMachineGun/automemlimit/memlimit","GOMEMLIMIT":14946283929,"previous":9223372036854775807}
2025-11-23T15:13:52.818234005Z {"level":"info","ts":1763910832.8180165,"msg":"using config from file","file":"/tmp/Caddyfile"}
2025-11-23T15:13:52.819695944Z {"level":"info","ts":1763910832.8196056,"msg":"adapted config to JSON","adapter":"caddyfile"}
2025-11-23T15:13:52.824245568Z {"level":"info","ts":1763910832.82405,"msg":"serving initial configuration"}

Configuration

Nextcloud

<?php
$CONFIG = array (
  'one-click-instance' => true,
  'one-click-instance.user-limit' => 100,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'check_data_directory_permissions' => false,
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => 'nextcloud-aio-redis',
    'password' => '<<REDACTED>>',
'port' => 6379,
  ),
  'overwritehost' => 'shibbyrouter.asuscomm.com',
  'overwriteprotocol' => 'https',
  'passwordsalt' => '<<REDACTED>>',
  'secret' => '<<REDACTED>>',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'shibbyrouter.asuscomm.com',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
  'version' => '32.0.2.2',
  'overwrite.cli.url' => 'https://shibbyrouter.asuscomm.com/',
  'dbname' => 'nextcloud_database',
  'dbhost' => 'nextcloud-aio-database:5432',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_nextcloud',
  'dbpassword' => '<<REDACTED>>',
  'installed' => true,
'instanceid' => 'ocwsg7azhu4n',
  'maintenance' => false,
  'updatechecker' => true,
  'updatedirectory' => '/nc-updater',
  'loglevel' => 2,
  'app_install_overwrite' =>
  array (
    0 => 'nextcloud-aio',
  ),
  'log_type' => 'file',
  'logfile' => '/var/www/html/data/nextcloud.log',
  'log_rotate_size' => 10485760,
  'log.condition' =>
  array (
    'apps' =>
    array (
      0 => 'admin_audit',
    ),
  ),
  'preview_max_x' => 2048,
'preview_max_y' => 2048,
  'jpeg_quality' => 60,
  'enabledPreviewProviders' =>
  array (
    1 => 'OC\\Preview\\Image',
    2 => 'OC\\Preview\\MarkDown',
    3 => 'OC\\Preview\\MP3',
    4 => 'OC\\Preview\\TXT',
    5 => 'OC\\Preview\\OpenDocument',
    6 => 'OC\\Preview\\Movie',
    7 => 'OC\\Preview\\Krita',
    0 => 'OC\\Preview\\Imaginary',
    23 => 'OC\\Preview\\ImaginaryPDF',
  ),
  'enable_previews' => true,
  'upgrade.disable-web' => true,
  'mail_smtpmode' => 'smtp',
  'trashbin_retention_obligation' => 'auto, 30',
  'versions_retention_obligation' => 'auto, 30',
  'activity_expire_days' => 30,
  'simpleSignUpLink.shown' => false,
  'share_folder' => '/Shared',
  'one-click-instance.link' => 'https://nextcloud.com/all-in-one/',
  'upgrade.cli-upgrade-link' => 'https://github.com/nextcloud/all-in-one/discussions/2726',
  'maintenance_window_start' => 100,
  'allow_local_remote_servers' => true,
  'davstorage.request_timeout' => 3600,
  'documentation_url.server_logs' => 'https://github.com/nextcloud/all-in-one/discussions/5425',
  'htaccess.RewriteBase' => '/',
  'dbpersistent' => false,
  'auth.bruteforce.protection.enabled' => true,
  'ratelimit.protection.enabled' => true,
  'files_external_allow_create_new_local' => false,
  'trusted_proxies' =>
  array (
    0 => '127.0.0.1',
    1 => '::1',
    10 => '172.21.0.0/16',
  ),
  'preview_imaginary_url' => 'http://nextcloud-aio-imaginary:9000',
  'preview_imaginary_key' => '<<REDACTED>>',
);

Are you trying to use AIO with your existing reverse proxy or are you trying to use AIO’s integrated reverse proxy?

I ask because the above implies you’re trying to use AIO’s, but your Compose file suggests you’re trying to use your own RP.

1 Like

I’m trying to use the built in AIO reverse proxy, but I’m not picky if I need to add my own reverse proxy. I had a working instance setup with nginx and nextcloud Docker image (not AIO) but wanted to add a high performance backend, which seemed easiest setup is through AIO.

So with that said, you seem to suggest I should be providing my own reverse proxy? What is the nextcloud-aio-apache container doing (if not acting as reverse proxy)?

I tried this docker-compose.yml and I get nginx 500 on my domain to setup nginx without much success:

services:
  nginx-proxy:
    image: nginxproxy/nginx-proxy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./nginx/certs:/etc/nginx/certs:ro
      - ./nginx/vhost.d:/etc/nginx/vhost.d
      - ./nginx/html:/usr/share/nginx/html
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
    networks:
      - proxy-network

  letsencrypt:
    image: nginxproxy/acme-companion:latest
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./nginx/certs:/etc/nginx/certs:rw
      - ./nginx/vhost.d:/etc/nginx/vhost.d
      - ./nginx/html:/usr/share/nginx/html
      - ./nginx/acme:/etc/acme.sh
    environment:
      - DEFAULT_EMAIL=<<REDACTED>>
    depends_on:
      - nginx-proxy
    networks:
      - proxy-network

  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    init: true
    restart: always
    container_name: nextcloud-aio-mastercontainer
    expose:
      - "11000"
    ports:
      - "8443:8443"
      - "8080:8080"
    environment:
      - APACHE_PORT=13500
      - APACHE_IP_BINDING=0.0.0.0
      - SKIP_DOMAIN_VALIDATION=true
      - VIRTUAL_HOST=shibbyrouter.asuscomm.com
      - VIRTUAL_PORT=13500
      - LETSENCRYPT_HOST=shibbyrouter.asuscomm.com
      - LETSENCRYPT_EMAIL=<<REDACTED>>
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - proxy-network

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer

networks:
  proxy-network:
    driver: bridge

The logs from nginx are as follows:

nginx-proxy-1                  | nginx.1     | 2025/11/23 21:54:55 [error] 87#87: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.50.1, server: shibbyrouter.asuscomm.com, request: "GET / HTTP/2.0", upstream: "http://172.18.0.3:13500/", host: "shibbyrouter.asuscomm.com"
nginx-proxy-1                  | nginx.1     | shibbyrouter.asuscomm.com 192.168.50.1 - - [23/Nov/2025:21:54:55 +0000] "GET / HTTP/2.0" 502 157 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0" "172.18.0.3:13500"
nginx-proxy-1                  | nginx.1     | shibbyrouter.asuscomm.com 192.168.50.1 - - [23/Nov/2025:21:54:55 +0000] "GET /favicon.ico HTTP/2.0" 499 0 "https://shibbyrouter.asuscomm.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0" "172.18.0.3:13500"
nginx-proxy-1                  | nginx.1     | 2025/11/23 21:54:56 [error] 87#87: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.50.1, server: shibbyrouter.asuscomm.com, request: "GET /index.php/apps/files/preview-service-worker.js HTTP/2.0", upstream: "http://172.18.0.3:13500/index.php/apps/files/preview-service-worker.js", host: "shibbyrouter.asuscomm.com"
nginx-proxy-1                  | nginx.1     | shibbyrouter.asuscomm.com 192.168.50.1 - - [23/Nov/2025:21:54:56 +0000] "GET /index.php/apps/files/preview-service-worker.js HTTP/2.0" 502 157 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0" "172.18.0.3:13500"
nginx-proxy-1                  | nginx.1     | 2025/11/23 21:54:57 [error] 88#88: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.50.1, server: shibbyrouter.asuscomm.com, request: "GET /apps/richdocuments/settings/fonts.json HTTP/1.1", upstream: "http://172.18.0.3:13500/apps/richdocuments/settings/fonts.json", host: "shibbyrouter.asuscomm.com"
nginx-proxy-1                  | nginx.1     | shibbyrouter.asuscomm.com 192.168.50.1 - - [23/Nov/2025:21:54:57 +0000] "GET /apps/richdocuments/settings/fonts.json HTTP/1.1" 502 157 "-" "COOLWSD HTTP Agent 25.04.6.2" "172.18.0.3:13500"

Ideally I’d like a docker-compose file that is easy to run on multiple machines

If you don’t manage to get the built-in AIO reverse proxy working the way you want, you can also run Nextcloud AIO behind your own reverse proxy — for example NGINX Proxy Manager.

That’s often more flexible long-term, because you can use the same proxy for your other services too, not only Nextcloud.

I wrote a full step-by-step guide for Proxmox → NGINX Proxy Manager → Nextcloud AIO, including domain setup and port forwarding:

:right_arrow: Proxmox + NGINX + Nextcloud AIO + Watchtower Deployment Guide

It’s an alternative approach that might fit better if you plan to host multiple services behind one proxy.

Then follow the instructions for doing so. At the moment you’re following the instructions for not using AIO’s integrated/ internal proxy.

1 Like