Aio installation adventures

Happy to disable it, but I canā€™t find daemon.json in Synology. Still hunting.

Without Imagemagick everything starts:

image

But the nextcloud container logs give me nc: getaddrinfo: Name does not resolve over and over. Iā€™m not sure what name it is referring to though.

Possibly you need to create it first.

Based on Configuring Docker on Synology NAS (DSM 7.x) | Day in my life it might be located in /var/packages/Docker/etc/dockerd.json

Thanks for your help so far @szaimen .

Unfortunately my Synology doesnā€™t have a /var/packages/Docker directory. I think from memory there is an @Docker hidden folder which even with my admin account I donā€™t have access to. This may have changed with the new docker subsystem they just released with DSM 7.2. Unfortunately my Linux/Docker skills are fairly limited.

At any rate, I donā€™t think this is the issue. Or at least not the only issue. After quite a bit of testing, Iā€™ve concluded that NextCloud AIO on Synology DSM 7.2 is broken beyond repair unfortunately.

Because the new docker in 7.2 supports ā€œProjectsā€ which use docker-compose files, that is what Iā€™m using. Listed below. Note that Iā€™m trying to use the Synology reverse proxy, so I have the reverse proxy stuff commented out, and have disabled the domain check.

The issues Iā€™ve found so far:

  1. If all the packages are selected, many of the docker containers are not created. eg Apache, Database etc containers are never created. If I deselect everything except (eg) Collabora, then the required containers are created.

  2. If I disable most stuff, Iā€™m then stuck with the issue above. Imagemagick hangs and never installs. I can fix this by going into the environment variables for the nextcloud container and deleting the references to Imagemagick. (Note to save I also need to delete, or put a value for the many environment values that have null setting). Any container upgrade or update will overwrite this and Iā€™m back to the hanging imagemagick thing again.

  3. To get NextCloud to start up I also have to turn of updates via environment variable or it hangs on that.

  4. After jumping through all these hoops, I get a working NextCloud container. However, Collabora office does not show up in the list of applications. In the NextCloud container logs it is just posting an error " nc: getaddrinfo: Name does not resolve" every 5 seconds, which I assuming means it isnā€™t seeing the running Collabora container (or any other for that matter)

All in all not super successful unfortunately. Not ruling out user error, but it could be a compatibility thing. Should I raise this as an issue on GitHub?

version: "3.8"

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer # This line is not allowed to be changed as otherwise the built-in backup solution will not work

services:
  nextcloud:
    image: nextcloud/all-in-one:latest
    restart: unless-stopped
    container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work
      - /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
    ports:
      - 8090:8080
      # - 80:80 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      # - 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md

    environment: # Is needed when using any of the options below
      # - AIO_DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface.
      - APACHE_PORT=11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      - APACHE_IP_BINDING=127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
      # - COLLABORA_SECCOMP_DISABLED=false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
      # - NEXTCLOUD_DATADIR=/mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
      # - NEXTCLOUD_MOUNT=/mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
      # - NEXTCLOUD_UPLOAD_LIMIT=10G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
      # - NEXTCLOUD_MAX_TIME=3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
      - NEXTCLOUD_MEMORY_LIMIT=1024M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
      # - NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nexcloud container (Useful e.g. for LDAPS) See See https://github.com/nextcloud/all-in-one#how-to-trust-user-defiend-certification-authorities-ca
      # - NEXTCLOUD_STARTUP_APPS=deck twofactor_totp tasks calendar contacts # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup
      - NEXTCLOUD_ADDITIONAL_APKS= # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
      # - NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
      # - NEXTCLOUD_ENABLE_DRI_DEVICE=true # This allows to enable the /dev/dri device in the Nextcloud container which is needed for hardware-transcoding. See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
      # - TALK_PORT=3478 # This allows to adjust the port that the talk container is using.
      - WATCHTOWER_DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
      - APACHE_DISABLE_REWRITE_IP=1 # Can't remember where this one came from?
      - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.ingalara.xyz 10.0.0.110 # Your domain name + proxy host IP
      - TRUSTED_PROXIES=10.0.0.110 # proxy host IP
      - SKIP_DOMAIN_VALIDATION=true # Added as using Synology as reverse proxy

    # networks: # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
      # - nextcloud-aio # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file

  # # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
  # # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588
  # caddy:
  #   image: caddy:alpine
  #   restart: always
  #   container_name: caddy
  #   volumes:
  #     - ./Caddyfile:/etc/caddy/Caddyfile
  #     - ./certs:/certs
  #     - ./config:/config
  #     - ./data:/data
  #     - ./sites:/srv
  #   network_mode: "host"

# # Optional: If you need ipv6, follow step 1 and 2 of https://github.com/nextcloud/all-in-one/blob/main/docker-ipv6-support.md first and then uncomment the below config in order to activate ipv6 for the internal nextcloud-aio network.
# # Please make sure to uncomment also the networking lines of the mastercontainer above in order to actually create the network with docker-compose
# # Inspired by https://github.com/mailcow/mailcow-dockerized/blob/master/docker-compose.yml
# networks:
#   nextcloud-aio:
#     name: nextcloud-aio # This line is not allowed to be changed as otherwise the created network will not be used by the other containers of AIO
#     driver: bridge
#     enable_ipv6: true
#     ipam:
#       driver: default
#       config:
#         - subnet: fd12:3456:789a:2::/64 # IPv6 subnet to use

If it fails to do so, there should be some logs in the mastercontainer that should give clue on why it failed to do so.

I still think that ipv6 is the culprit here which should be fixable by either disabling ipv6 completely in docker or enabling it correctly.

What do you mean exactly with turning off updates via environmental variable? Can you send some logs where things hang?

Apparently it cannot install the necessary app into the Nextcloud container then.


To conclude: it looks like all problems are caused by ipv6 being neither correctly enabled nor completely disabled in the docker daemon.