How to add IPv6 to Nextcloud All-In-One (AIO)

If you have recently deployed Nextcloud All-in-One (AIO) using Docker, you might notice that while your containers communicate perfectly over IPv4, dual-stack or IPv6-only environments fail to connect. By default, standard Docker bridge networks are created with EnableIPv6: false.

In this guide, we will look at how to verify your current network state and upgrade your existing Nextcloud AIO Docker setup to full dual-stack IPv4/IPv6 support without losing data.

Step 1: Check Your Current Network Configuration

First, navigate to your Nextcloud AIO directory and inspect the Docker networks running on your host:

docker network ls

Next, inspect the specific nextcloud-aio network to verify whether IPv6 is enabled:

docker network inspect nextcloud-aio

In a default installation, you will likely see "EnableIPv6": false inside the output JSON:

[
    {
        "Name": "nextcloud-aio",
        "Driver": "bridge",
        "EnableIPv4": true,
        "EnableIPv6": false,
        "IPAM": {
            "Config": [
                {
                    "Subnet": "172.27.0.0/16",
                    "Gateway": "172.27.0.1"
                }
            ]
        }
    }
]

Step 2: Enable IPv6 in Docker Daemon (Prerequisite)

Before Docker can assign IPv6 addresses to bridge networks automatically, Docker’s daemon must have IPv6 support enabled. Ensure your /etc/docker/daemon.json includes the following configuration:

{
  "ipv6": true,
  "fixed-cidr-v6": "fd00::/80"
}

Note: If you made changes to daemon.json, restart Docker with sudo systemctl restart docker before proceeding.

Step 3: Re-create the Nextcloud AIO Network

To switch to an IPv6-enabled bridge network, we need to bring down the active containers, delete the old IPv4-only network, and create a fresh dual-stack network.

Run the following sequence of commands in your Nextcloud Compose directory:

# 1. Stop and remove running Nextcloud AIO containers
docker compose down

# 2. Remove the existing IPv4-only network
docker network rm nextcloud-aio

# 3. Create the network with explicit IPv6 support
docker network create --ipv6 --driver bridge nextcloud-aio

# 4. Start Nextcloud AIO again
docker compose up -d

Step 4: Verify Dual-Stack Functionality

To confirm that your network now properly allocates IPv6 subnets alongside IPv4, re-run the inspect command:

docker network inspect nextcloud-aio

You should now see "EnableIPv6": true along with a dynamically assigned ULA (Unique Local Address) IPv6 subnet (e.g., fd45:ba38:5266::/64):

[
    {
        "Name": "nextcloud-aio",
        "Driver": "bridge",
        "EnableIPv4": true,
        "EnableIPv6": true,
        "IPAM": {
            "Config": [
                {
                    "Subnet": "172.27.0.0/16",
                    "Gateway": "172.27.0.1"
                },
                {
                    "Subnet": "fd45:ba38:5266::/64",
                    "Gateway": "fd45:ba38:5266::1"
                }
            ]
        }
    }
]

Your Nextcloud AIO deployment is now fully configured to route and manage dual-stack traffic!

Für dich vielleicht ebenfalls interessant …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert