Ubuntu 24.04 + Nextcloud

Hello,

Here is the error:

=======
It seems like you did not give the mastercontainer volume the correct name? (The ‘nextcloud_aio_mastercontainer’ volume was not found.)
Using a different name is not supported since the built-in backup solution will not work in that case!
It seems like you did not give the mastercontainer volume the correct name? (The ‘nextcloud_aio_mastercontainer’ volume was not found.)
Using a different name is not supported since the built-in backup solution will not work in that case!

Since the nextcloud system was not started, the port was not opened either.

Thank you!

Since you are still getting stuck, I recommend you first install Portainer. It gives you a simple web UI to manage Docker – containers, images, volumes, logs.

Steps to deploy Portainer

  1. Create a directory and move into it:

    mkdir ~/portainer
    cd ~/portainer
    
    
  2. Create the docker-compose.yml file:

    nano docker-compose.yml
    
    
  3. Paste this content:

    services:
      portainer:
        image: portainer/portainer-ce:latest
        labels:
          - "com.centurylinklabs.watchtower.enable=true"
        container_name: portainer
        restart: always
        ports:
          - 9000:9000
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - portainer_portainer_data:/data
    
    volumes:
      portainer_portainer_data:
    
    
  4. Save and exit nano (CTRL+O, Enter, CTRL+X).

  5. Start Portainer:

    docker compose up -d
    
    
  6. Open in your browser:

    http://<server-ip>:9000
    
    
  7. Log in, go to Volumes, and check what is there. Delete every volume related to Nextcloud. That way you are sure there are no old Nextcloud volumes left before starting a new installation.

Once the environment is clean, run the Nextcloud AIO installation again with the compose file I provided.

That’s why I strongly recommend using Portainer – not only to clean up now, but also because you will use it later for updates and management of your Nextcloud AIO.


Side note: I also recommend learning the basics of Markdown.
It will make your posts on this forum much easier to read (for example, when you paste logs or config).
Learning the basics takes no more than 10 minutes. Here’s a quick guide:
Markdown Crash Course (YouTube)

It’s also directly supported inside Nextcloud itself — not only in Notes, but also in Collectives and other apps — and Markdown is the default syntax on GitHub (for example). So once you learn it, you’ll use it in many places.

Hello,

@vawaver Unfortunately, I tried several ways here, but none of them worked with this configuration you gave and I don’t know why!

I tested this configuration below:

sudo docker run \
–sig-proxy=false \
–name nextcloud-aio-mastercontainer \
–restart always \
–publish 80:80 \
–publish 8080:8080 \
–publish 8443:8443 \
–volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
–volume /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/nextcloud-releases/all-in-one:latest

I had to type everything via command line, it didn’t accept creating the compose.yml file and then running it.

However, it was the only configuration that worked correctly.

When I create the “compose.yml” file and then try to run it using the command “docker compose up -d” it always gives an error when running, but if I type it manually in the shell, it doesn’t give an error!

As I have no experience, I can’t say if the problem is in the execution of the command or in the file created.

Thank you!

Right now you only say “it gives an error”, but without the actual error message it’s impossible to know what’s wrong.

  1. Post the exact error output you get when you run:

    docker compose up -d
    
    
  2. Show which versions are running on your server:

    docker --version
    docker compose version
    
    
  3. Share the contents of your compose.yml (or docker-compose.yml) file, but make sure you paste it here with proper Markdown formatting so indentation is visible:
    ```yaml

    your file here

    ```
    Alternatively, you can add a screenshot of the file.

Without the real error + version info + properly formatted file, nobody can troubleshoot further.

Hello,

I managed to install it, but I’m finding it very slow to navigate Nextcloud.

Processor: Xeon(R) E-2288G CPU @ 3.70GHz - 2 Sockets - 8 Cores (Proxmox)
Memory: 24GB RAM
SSD: 4TB

Even opening the login screen is taking a while.

How can I improve the performance of Nextcloud, is it even possible using Docker?

Thank you!

I dont use docker, but yes it is possible. It is not because of docker that it is slow.

There are a lot of tuning and performance uptimizations to be found on this forum.

However, you should go to https://[your nextcloud url]/settings/admin/serverinfo

Here you can find stuff like this:

This is in danish, but it will show you how much resources you have available (you will need to configure your ini files accordingly).
Further you need to tweak your caching.

I can tell you that with the above very little resources on my home solution, it runs smooth and fast.

Hello,

I didn’t make any changes, this configuration is default, through the docker-compose.yml file.

Thank you!

Your hardware is more than enough for Nextcloud AIO, so the slowdown is not caused by CPU, RAM or SSD performance. “Taking a while” is too vague — is it 5 seconds, 10 seconds, or a full minute? That detail matters.

If the delay is only when loading the login page, possible causes:

  • Network / routing: slow DNS resolution, NAT/proxy misconfiguration, reverse proxy issues. Test directly via https://<local-IP>:6789 (no domain, no Cloudflare).

  • TLS / certificates: if you’re using NGINX Proxy Manager or Cloudflare, misconfig can add long delays to handshake.

  • Container health: check logs in Portaine. Look for errors or timeouts.

  • Browser-side: do tests with incognito mode and without extensions to rule out cached/stale data.

  • External network load: if you access through WAN, your upstream/downstream bandwidth or latency might be the bottleneck.

Only then it makes sense to look at fine-tuning, because your hardware is already fine for production.

Hello,

When I access the Nextcloud link, the page opens quickly, but only the screen with the background image remains open. It takes 20 to 30 seconds for the login and password fields to appear.

After accessing with username and password, it takes almost 1 minute for the full Dashboard screen to appear.

When I click on the “Files” option, it takes more than 1 minute for the screen with the files listed to appear.

I sent a video file, .mp4, the file is 39MB, when I try to watch it, the video keeps freezing, it’s impossible to watch the whole video, because it keeps freezing all the time.

In my configuration, I’m using Apache instead of Nginx. Access to Nextcloud is via a direct link, without going through any proxy.

Os DNS que estou usando no servidor, são os DNS do Google (8.8.8.8, 8.8.4.4).

The server link is 1Gbps Full, dedicated, for both download/upload.

Previously, I had manually installed Nextcloud on this same server, and it didn’t experience this slowness; everything opened very quickly. I reinstalled it using this Docker option because I couldn’t get Talk to work with the manual installation. For this reason, I reformatted the server and installed Nextcloud using AIO in Docker.

I don’t know what could be happening because of this slowness.

Thank you!

This thread already has more than 48 replies.

You decided to go with Apache directly, while my tested and recommended approach is through NGINX Proxy Manager.

From my side, I’ve already shared all of my best practices and know-how, tested across multiple installations. There’s nothing more I can add.

At this point our paths split.
I take it that you want to go your own way and try things differently.
That’s fine, because people usually learn best from their own mistakes and experiences.

I wish you success in setting it up the way you want.

Hello,

@vawaver I apologize if I misinterpreted the help everyone has given so far. My English is poor, so I use translators to express myself, respond, and ask questions here.

I always made it clear that I had no knowledge of using Docker, and the installation that was done through Docker was exactly what you went through, but at no point during the installation was the installation of Nginx or NGINX Proxy Manager presented.

volumes:
nextcloud_aio_mastercontainer:

services:
nextcloud:
image: ghcr.io/nextcloud-releases/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
volumes:

  • nextcloud_aio_mastercontainer:/mnt/docker-aio-config
  • /var/run/docker.sock:/var/run/docker.sock:ro
  • /etc/cups/client.conf:/etc/cups/client.conf:ro
    ports:
  • 6789:8080 # AIO web UI
    environment:
  • APACHE_PORT=11000
  • NEXTCLOUD_MEMORY_LIMIT=4096M

I simply created the “docker-compose.yml” file, copied the code you provided, and ran the Docker command. I didn’t do anything else other than that.

I also installed the portainer, as you described in the topic above.

I simply followed it step by step. I watched the video that said, “Learning the basics takes no more than 10 minutes. Here’s a quick guide: Markdown Crash Course (YouTube)”.

Which was installed using the “docker compose up -d” command.

And NGINX was supposed to have been installed together, I wouldn’t know how to answer precisely due to lack of knowledge.

Thank you!

To clarify the correct setup:

  • Ports 80 and 443

    • Forwarded from your router/firewall to the VM where Nginx Proxy Manager (NPM) is running.

    • NPM terminates SSL and manages your certificates.

    • NPM then forwards traffic to the Nextcloud AIO container on the internal port you defined (e.g. 11000).

  • Port 3478 (UDP)

    • This port is required by Nextcloud Talk High Performance Backend (STUN/TURN).

    • It must be forwarded directly from your router to the VM running Nextcloud AIO.

    • Do not send this through NPM, otherwise Talk won’t work correctly.

So the flow is:
Public IP → Router (80/443) → NPM → Nextcloud AIO
Public IP → Router (3478/UDP) → Nextcloud AIO


Install Nginx Proxy Manager with Docker Compose

1. Create a directory and go into it

mkdir -p ~/nginx-proxy-manager
cd ~/nginx-proxy-manager

2. Create the docker-compose.yml file

nano docker-compose.yml

Paste this content (replace the example passwords with your own secure values):

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'     # Web UI
      - '443:443'
    environment:
      PUID: 1000
      PGID: 1000
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "tony"
      DB_MYSQL_PASSWORD: "ChangeThisPassword123!"
      DB_MYSQL_NAME: "nginxpm"
    volumes:
      - ./data/app:/data
      - ./letsencrypt:/etc/letsencrypt

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'ChangeRootPassword123!'
      MYSQL_DATABASE: 'nginxpm'
      MYSQL_USER: 'tony'
      MYSQL_PASSWORD: 'ChangeThisPassword123!'
    volumes:
      - ./data/mysql:/var/lib/mysql

Save (CTRL+O, Enter) and exit (CTRL+X).


3. Start the stack

docker compose up -d


4. Access the Web UI

  • Open your browser and go to:

    http://<server-ip>:81
    
    
  • Default login credentials:

    • Email: admin@example.com

    • Password: changeme

On first login you will be forced to set a new email and password.


:backhand_index_pointing_right: At this point, NPM is running and ready. You can now add your domain, request SSL certificates, and forward traffic to your Nextcloud AIO container.


Stop relying on basic translators — they mess things up and create confusion. Use an AI instead. It will give you much clearer results, and you’ll move forward much faster.

Also: most of the steps you are struggling with are already shown on YouTube. Learn by watching and repeating. That way you’ll understand how NGINX Proxy Manager works, and you’ll finally get the principle of domain and subdomain routing. It is easy to understand.

I already shared a working example for the Advanced tab in NPM for Nextcloud AIO (see my guide on large file synchronization, June update). Everything you need is there.

And one more thing: I told you before to learn Markdown for posting configs and logs here. You ignored it, but it makes a huge difference. It takes 10 minutes to learn, and everyone will read your posts much easier.


I already told you to check your LAN setup and the hardware/config inside your LAN. From my side, that’s about all I can help with right now.

At this point it requires more proactivity from your side. These are not complex tasks — they are all fairly simple once you take the time to actually go through them. You don’t need to be an IT pro to make this work, but you do need to sit down, learn the basics, and apply them.

You already have all the materials and configs you need. At this point it’s just about taking what’s here and dropping it into an AI tool — it will explain everything to you step by step in plain language.

There’s nothing fundamentally complex in what we’ve covered. You have the hardware, you have the configs, you have working examples. Now it’s on you to actually use them.

Hello,

I tried to install it, but it’s giving an error because the ports are already in use.

image

image

How should I proceed?

Thank you.

From the screenshot you posted I can’t really read anything useful. If you share an image, at least make sure it is clear and actually shows what you want to highlight.

Also, you didn’t explain what exact steps you did before the error appeared. Without that, there’s nothing to work with — I don’t have a crystal ball.

At this point you’re just wasting my time.
Unless the quality of your posts improves (clear description, formatted logs/configs, and concrete steps), I’ll start ignoring your posts.

Hello,

I was studying Docker a little, that’s why it took me a while to respond here in the topic.

@vawaver I managed to do all the configuration as you explained, however, there is a problem with “nextcloud-aio-notify-push”, it is showing the following error:

========
Connection to nextcloud-aio-nextcloud (172.19.0.13) 9001 port [tcp/*] succeeded!
The notify_push binary was not found.
Most likely is DNS resolution not working correctly.
You can try to fix this by configuring a DNS server globally in dockers daemon.json.
See Configuring DNS | dockerlabs
Afterwards a restart of docker should automatically resolve this.
Additionally, make sure to disable VPN software that might be running on your server
Also check your firewall if it blocks connections to github
If it should still not work afterwards, feel free to create a new thread at https://github.com/nextcloud/all-in-one/discussions/new?category=questions and post the Nextcloud container logs there.

I couldn’t detect the problem and I couldn’t find anything on the forum here regarding this problem.

Another issue I encountered is in the Applications section within Nextcloud. It’s unable to list the applications I can install.

When I access the link https://scan.nextcloud.com/ to check the security of Nextcloud, I am also unable to locate the server.

I believe it might be some configuration in Nginx Proxy Manager.

I don’t know if this configuration in Nginx Proxy Manager is actually correct, but it is opening Nextcloud to log in.

Thank you!

Your NPM config is correct — forwarding to port 11000 is fine.

The issues you describe (notify_push not working, Apps list empty, scan.nextcloud.com not reachable) are almost always caused by DNS resolution problems.

Before you touch Docker settings, check DNS on the levels above it:

  1. Proxmox host
    In the Proxmox UI (Datacenter → Node → DNS) set a DNS server that actually works in your environment (for example your router IP, your provider’s DNS, or a public resolver like 8.8.8.8 or 1.1.1.1).

  2. Ubuntu VM
    Inside the VM run:

    resolvectl status
    cat /etc/resolv.conf
    
    

    Make sure Ubuntu itself points to a working DNS server.

  3. Test from inside a container

    docker exec -it nextcloud-aio-nextcloud ping -c3 github.com
    
    

    If this works, DNS is fine everywhere. If not, fix DNS on the host/VM first.

Only if DNS is confirmed working on Proxmox and in Ubuntu, but containers still can’t resolve, then it makes sense to look at Docker’s own DNS configuration.

Hello,

  1. PROXMOX DNS:
  2. Ubuntu VM DNS


3. Inside a container:

I also disabled Ubuntu’s firewall, “systemctl stop ufw” and “systemctl disable ufw”, thinking it might be some blockage.

Even though I didn’t add any rules to the firewall, I preferred to disable it so I could do all the tests.

Thank you!

Hello,

I noticed that Collabora is not working either.

Nextcloud-aio-collabora logs.

I did as you said in docker-compose.yml, I just added two more lines, which are the location where the users would be created and the upload limit to 16g.

I changed port 6789 to 8080, as port 6789 was not accepting it, it was showing an error in the docker compose command.

Ubuntu firewall is disabled, Proxmox firewall is also disabled.

Thank you.

You’re over-complicating this by changing things every time.

  • DNS is fine. We can see containers resolve/ping github.com. Stop blaming DNS.

  • Stop changing ports. Use the compose exactly as given.

    • AIO UI = container 8080 → map either 6789:8080 or 8080:8080. Pick one and keep it.

    • Nextcloud (Apache) stays on 11000. NPM must point to http://<AIO-IP>:11000. Do not proxy the UI port.

  • If 6789 “doesn’t work”, it means something already uses it. Clean up and redeploy:

    • In Portainer: stop/remove old stacks/containers that expose 6789, then deploy again.

    • Or CLI: docker ps → stop/remove the offenders; redeploy the stack.

From now on: no more custom tweaks. Either run the provided compose as-is and post the exact error output if it fails, or I’m done troubleshooting.

And one more thing: I have no idea what other factors in your LAN might be interfering, and that’s something only you can verify.

Hello,

I managed to solve the problem, regarding the applications and notify_push.

I’m not able to solve the Collabora problem, if you can help me.

Error displayed in the container log:

When I try to open a .docx file, the browser displays the error:

Document loading failed
The socket connection failed to be established, or the socket connection was closed unexpectedly. The reverse proxy may be misconfigured; contact your administrator. For more information on proxy configuration, see Proxy settings — SDK https://sdk.collaboraonline.com/ documentation

I searched for some solution on the internet, how should I configure this in Nginx Proxy Manager, but I couldn’t find any tutorial.

Thank you.