Can't get past "New AIO instance" screen

I recently installed Nextcloud AIO. Unfortunately, I can’t get past the first screen where you submit your domain.

$ sudo docker logs -f nextcloud-aio-mastercontainer
Trying to fix docker.sock permissions internally...
Creating docker group internally with id 974
Initial startup of Nextcloud All-in-One complete!
You should be able to open the Nextcloud AIO Interface now on port 8080 of this server!
E.g. https://internal.ip.of.this.server:8080

If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:
https://your-domain-that-points-to-this-server.tld:8443
[Fri Aug 18 11:46:01 2023] PHP 8.2.8 Development Server (http://127.0.0.1:9876) started
{"level":"info","ts":1692359161.9286778,"msg":"using provided configuration","config_file":"/Caddyfile","config_adapter":""}
[Fri Aug 18 11:46:01.939331 2023] [mpm_event:notice] [pid 119:tid 140009740479304] AH00489: Apache/2.4.57 (Unix) OpenSSL/3.1.2 configured -- resuming normal operations
[Fri Aug 18 11:46:01.939369 2023] [core:notice] [pid 119:tid 140009740479304] AH00094: Command line: 'httpd -D FOREGROUND'
[18-Aug-2023 11:46:01] NOTICE: fpm is running, pid 125
[18-Aug-2023 11:46:01] NOTICE: ready to handle connections
[Fri Aug 18 11:46:20 2023] 127.0.0.1:48408 Accepted
[Fri Aug 18 11:46:20 2023] mysubdomain.example.com was accepted as valid domain.
[Fri Aug 18 11:46:20 2023] 127.0.0.1:48408 Closing
Deleting duplicate sessions
Deleting duplicate sessions

I have verified that ports 80, 443, and 8443 are open to the machine running nextcloud. I have also accessed the Nextcloud AIO interface through port 8443 from outside my LAN.

How should I verify that this is not a certificate error? If it is not a certificate error, how do I get past the initial setup screen?

Thanks

Hi, can you open https://internal.ip.of.server:8080 as advised?

Sorry, made a mistake hier. Needs to be https and not http

Thanks for the response. http://internal.ip.of.server:8080 returns “Bad Request. Reason: You’re speaking plain HTTP to an SSL-enabled server port.”

https://internal.ip.of.server:8080 returns the correct login screen for the Nextcloud AIO setup. Logging in with the eight-word generated password works correctly to get me to the page with the “Submit Domain” button.

More sudo docker logs -f nextcloud-aio-mastercontainer output follows:

After I try to connect via https://my-domain-name.tld:8443 the following was written to the log:

NOTICE: PHP message: The response of the connection attempt to "http://my-domain.tld:443" was: 
NOTICE: PHP message: Expected was: 68090887c2c8650e595686b08f73fa586108ddf493d63b81
NOTICE: PHP message: The error message was: Connection timed out after 10001 milliseconds

I think it’s possible that ATT is blocking access to port 8443. My ATT Smart Home Manager App has blocked numerous "Suspicious connection"s since opening 8443, including but not limited to when I navigate there intentionally. (Since requests to port 8443 redirect to the login screen, I’m not terribly concerned about what ATT thinks are network attacks. Should I be?)

I’ve navigated to https://my.domain.name.tld:8443 inside my LAN. Vivaldi shows that the certificate is valid and issued by Let’s Encrypt, which I assume is expected. The same happens when I connect to port 8443 from outside my LAN.

If I attempt to connect to https://my.domain.name.tld:8080 from inside LAN, I receive ERR_CONNECTION_REFUSED. Connecting to port 8080 outside LAN keeps trying to load for over five minutes.

Navigating to https://my.domain.name.tld without specifying a port returns ERR_SSL_PROTOCOL_ERROR both inside and outside LAN.

Navigating to https://local.ip.address:8080 returns the login screen which logs in to the “Submit Domain” setup screen. I’m assuming since I can already navigate here with the domain name I shouldn’t need to submit it again.

Perhaps I should mention that I am running docker using compose.yaml. After git clone, I took the compose.yaml file and removed comments to enable the following lines:

environment: # Is needed when using any of the options below
  - NEXTCLOUD_DATADIR=/home/nextcloud/all-in-one/data
  - NEXTCLOUD_MAX_TIME=3600

The NEXTCLOUD_ADDITIONAL_APKS and NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS environment variables were set by default.

Did I need to do the initial startup using the docker run command before spinning up AIO using compose? There was no mention of the compose.yaml in the setup instructions, but I’m much more comfortable with docker compose than standard docker.

Can you follow What can I do when Nextcloud is not reachable via my domain or if I get `SSL_ERROR_INTERNAL_ERROR_ALERT` when opening my Nextcloud domain? · nextcloud/all-in-one · Discussion #2105 · GitHub?

I tried following the link provided.

$ sudo docker logs nextcloud-aio-apache
Error response from daemon: No such container: nextcloud-aio-apache

$ sudo docker ps
CONTAINER ID   IMAGE                              COMMAND       CREATED         STATUS                   PORTS                                                                                                                               NAMES
b58346360877   nextcloud/aio-domaincheck:latest   "/start.sh"   3 minutes ago   Up 3 minutes (healthy)   0.0.0.0:443->443/tcp, :::443->443/tcp                                                                                               nextcloud-aio-domaincheck
bfb7701adcc6   nextcloud/all-in-one:latest        "/start.sh"   8 hours ago     Up 8 hours (healthy)     0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 9000/tcp   nextcloud-aio-mastercontainer

I don’t know if I should expect the nextcloud-aio-apache container to exist at this point. I looked at Apache-aio does not start #1410 but I can’t even get past the “Choose Domain” page, so the only way to know what containers are part of the AIO installation was to sudo docker ps.

Here is the output of sudo docker inspect nextcloud-aio-mastercontainer

Summary
[
    {
        "Id": "bfb7701adcc6ddd384dfde11c735102454b35a2f7597febbe3437b85746749c5",
        "Created": "2023-08-18T11:45:57.843455493Z",
        "Path": "/start.sh",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 244092,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-08-18T11:45:59.124878182Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "Health": {
                "Status": "healthy",
                "FailingStreak": 0,
                "Log": [
                    {
                        "Start": "2023-08-18T14:27:26.837577862-05:00",
                        "End": "2023-08-18T14:27:26.929567848-05:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2023-08-18T14:27:57.015735177-05:00",
                        "End": "2023-08-18T14:27:57.105817728-05:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2023-08-18T14:28:27.201356087-05:00",
                        "End": "2023-08-18T14:28:27.345891754-05:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2023-08-18T14:28:57.428313257-05:00",
                        "End": "2023-08-18T14:28:57.526682778-05:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2023-08-18T14:29:27.605179548-05:00",
                        "End": "2023-08-18T14:29:27.730790362-05:00",
                        "ExitCode": 0,
                        "Output": ""
                    }
                ]
            }
        },
        "Image": "sha256:28d1d295e776371c5bd38e914a513f0107fcd82f5f5ee0cdf21c848f608e74e8",
        "ResolvConfPath": "/var/lib/docker/containers/bfb7701adcc6ddd384dfde11c735102454b35a2f7597febbe3437b85746749c5/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/bfb7701adcc6ddd384dfde11c735102454b35a2f7597febbe3437b85746749c5/hostname",
        "HostsPath": "/var/lib/docker/containers/bfb7701adcc6ddd384dfde11c735102454b35a2f7597febbe3437b85746749c5/hosts",
        "LogPath": "/var/lib/docker/containers/bfb7701adcc6ddd384dfde11c735102454b35a2f7597febbe3437b85746749c5/bfb7701adcc6ddd384dfde11c735102454b35a2f7597febbe3437b85746749c5-json.log",
        "Name": "/nextcloud-aio-mastercontainer",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/var/run/docker.sock:/var/run/docker.sock:ro"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "all-in-one_default",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "80"
                    }
                ],
                "8080/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8080"
                    }
                ],
                "8443/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8443"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "always",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "nextcloud_aio_mastercontainer",
                    "Target": "/mnt/docker-aio-config",
                    "VolumeOptions": {}
                }
            ],
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ],
            "Init": true
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/41052e9a949613cd9eaf45d88549fc3bfaf5bca762f3be8eea3d52a51c6824cb-init/diff:/var/lib/docker/overlay2/c86cbe454f3e0659165337a01a1f500f659a27b9452e04aaf550e8ef9e8ffa5c/diff:/var/lib/docker/overlay2/9d688a2d4f40e188048f729e9c4d3def07bd3ab9b588667e9bf6dd45b875bbbc/diff:/var/lib/docker/overlay2/4e265098e0e7f604bbd50ece3fe417c7d70acba9834755bd1962b8197f8f8a46/diff:/var/lib/docker/overlay2/5bb9bdbcba5101eb1c10c422acbcb89e5460c84ebda85b0553df6eeabaa36339/diff:/var/lib/docker/overlay2/87b23891b8d29372bb123b175d6eed651f66f5f040aec18e5e4cd6ad177bf2dd/diff:/var/lib/docker/overlay2/2195b194fc8082693f6e85341744304c8c42729dbe98431e88dbd6f0b5aa7ead/diff:/var/lib/docker/overlay2/6d6796cccead84ef60dd0103032331e0f80292c27053e629bbff8e6f17a20cc6/diff:/var/lib/docker/overlay2/11c6e1caa9894e478bd402db4157c080fbea8c4cd93a09d5209ee0b8bf4c01c3/diff:/var/lib/docker/overlay2/16abf855d4041df4a7296e6d2bb0b30251728e8d4bac431bb9923f5625d48b91/diff:/var/lib/docker/overlay2/36836c279c30dc9bd1e5e71871f7a0fa2e89907ed1aff4aef8617a7e433b214b/diff:/var/lib/docker/overlay2/e81e477327153e4b95dea7c0a295568891cc44e8dbe7a91fe3015e46aba4a04f/diff:/var/lib/docker/overlay2/233bc13fee7c1193aa9947c93258c0580497ff9f117a8587434d9d8a96627acd/diff:/var/lib/docker/overlay2/a1c7a25287af336c4dff5da90073b4936ea2efa5caccde56e2ba927c2e977ecc/diff:/var/lib/docker/overlay2/17c88a3e4a958d90d76f2ae1f5ac05cba145d9bf72f05200e31dddac9a6ac08b/diff:/var/lib/docker/overlay2/4841ccf9ece8106a8a71722198ee3250a41f8a74a0afb1bfe2399915946fedc6/diff:/var/lib/docker/overlay2/9db623b31a3d93df35185323c0a01ef6f5554a1f5817542dda10b6675a1bdd10/diff:/var/lib/docker/overlay2/0e966ca16756ea8ef5e47b21f1c320e1257f15999289909428a151d33bc2d7a0/diff:/var/lib/docker/overlay2/f6481784682eb10149450b92c09457ca6834e46844890da26d385735d3987ddb/diff",
                "MergedDir": "/var/lib/docker/overlay2/41052e9a949613cd9eaf45d88549fc3bfaf5bca762f3be8eea3d52a51c6824cb/merged",
                "UpperDir": "/var/lib/docker/overlay2/41052e9a949613cd9eaf45d88549fc3bfaf5bca762f3be8eea3d52a51c6824cb/diff",
                "WorkDir": "/var/lib/docker/overlay2/41052e9a949613cd9eaf45d88549fc3bfaf5bca762f3be8eea3d52a51c6824cb/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/var/run/docker.sock",
                "Destination": "/var/run/docker.sock",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "nextcloud_aio_mastercontainer",
                "Source": "/var/lib/docker/volumes/nextcloud_aio_mastercontainer/_data",
                "Destination": "/mnt/docker-aio-config",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "bfb7701adcc6",
            "Domainname": "",
            "User": "root",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "80/tcp": {},
                "8080/tcp": {},
                "8443/tcp": {},
                "9000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "NEXTCLOUD_MAX_TIME=3600",
                "NEXTCLOUD_ADDITIONAL_APKS=imagemagick",
                "NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick",
                "NEXTCLOUD_DATADIR=/home/nextcloud/all-in-one/data",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "PHPIZE_DEPS=autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c",
                "PHP_INI_DIR=/usr/local/etc/php",
                "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64",
                "PHP_LDFLAGS=-Wl,-O1 -pie",
                "GPG_KEYS=REDACTED",
                "PHP_VERSION=8.2.8",
                "PHP_URL=https://www.php.net/distributions/php-8.2.8.tar.xz",
                "PHP_ASC_URL=https://www.php.net/distributions/php-8.2.8.tar.xz.asc",
                "PHP_SHA256=REDACTED"
            ],
            "Cmd": null,
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "/healthcheck.sh"
                ]
            },
            "Image": "nextcloud/all-in-one:latest",
            "Volumes": null,
            "WorkingDir": "/var/www/docker-aio",
            "Entrypoint": [
                "/start.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "54cf256dac1564fbbe95f36d54e946170df8f580afe40a0132b6327e487921ad",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:28d1d295e776371c5bd38e914a513f0107fcd82f5f5ee0cdf21c848f608e74e8",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "all-in-one",
                "com.docker.compose.project.config_files": "/home/nextcloud/all-in-one/compose.yaml",
                "com.docker.compose.project.working_dir": "/home/nextcloud/all-in-one",
                "com.docker.compose.service": "nextcloud-aio-mastercontainer",
                "com.docker.compose.version": "2.20.3"
            },
            "StopSignal": "SIGQUIT"
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "48fd81989fb23a5672643f84bfc92bf39855617ef3423871bd296617a776d544",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "80"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "80"
                    }
                ],
                "8080/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8080"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8080"
                    }
                ],
                "8443/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8443"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "8443"
                    }
                ],
                "9000/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/48fd81989fb2",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "all-in-one_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "nextcloud-aio-mastercontainer",
                        "nextcloud-aio-mastercontainer",
                        "bfb7701adcc6"
                    ],
                    "NetworkID": "7ef42ae2565a0c9b7a03403047efee956f1606a5ace82182325a1781d0006ea7",
                    "EndpointID": "795d5102f23966ac2c55d96c8082db4d203373270efc7a4a3ab737cc838faee9",
                    "Gateway": "172.31.0.1",
                    "IPAddress": "172.31.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "REDACTED",
                    "DriverOpts": null
                },
                "nextcloud-aio": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "bfb7701adcc6"
                    ],
                    "NetworkID": "34f31ba70f1427ffe5b641cd187ba88072a726205c424d2cff656a1c6d013bdc",
                    "EndpointID": "abb149ff0b683c30c55161de83d66a4bf78020b098efad0834b087106fe8c7a0",
                    "Gateway": "172.29.0.1",
                    "IPAddress": "172.29.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "REDACTED",
                    "DriverOpts": null
                }
            }
        }
    }
]

Sorry, I was confused. Indeed you first need to enter the domain. Then you can proceed with starting the containers. If you are completely sure that you’ve configured everything correctly and still cannot confirm your domain, you might skip the domain validation with GitHub - nextcloud/all-in-one: Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.

OK. I’ve added - SKIP_DOMAIN_VALIDATION=true to compose.yaml. After adding, I ran the following commands:

$ sudo docker compose down && sudo docker compose up -d
[+] Running 2/2
Container nextcloud-aio-mastercontainer Removed
Network all-in-one_default              Removed
[+] Running 0/1
[+] Running 2/2
Network all-in-one_default              Created
Container nextcloud-aio-mastercontainer Started

$ sudo docker ps
CONTAINER ID   IMAGE                              COMMAND       CREATED              STATUS                        PORTS                                                                                                                               NAMES
931cc7714566   nextcloud/aio-domaincheck:latest   "/start.sh"   53 seconds ago       Up 51 seconds (healthy)       0.0.0.0:443->443/tcp, :::443->443/tcp                                                                                               nextcloud-aio-domaincheck
c2827196af5a   nextcloud/all-in-one:latest        "/start.sh"   About a minute ago   Up About a minute (healthy)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 9000/tcp   nextcloud-aio-mastercontainer

$ sudo docker inspect nextcloud-aio-mastercontainer | grep SKIP
       "SKIP_DOMAIN_VALIDATION=true",

Unfortunately, navigating to https://local.ip.address:8080 still returns the Domain Validation Screen. The URL returned is https://local.ip.address:8080/containers. https://my-domain.tld:8443 returns the same Domain Validation Screen. Should I be seeing the containers instead of the domain validation screen at this point? Do I need to run sudo docker containers prune to completely erase the old container? I haven’t done this yet because I figure it’ll wipe out the domain config.

After restarting the nextcloud-aio-mastercontainer I needed to enter the domain again to pass the domain validation screen even though the domain was already set up.

Thanks for the help.

Did you now enter the domain? It should now accept it and should allow you to proceed.