Nextcloud being deployed on Docker swarm appears to have a missing mountpoint

Hello guys,

I am having some issues on the deployment of nextcloud on Docker Swarm.
I think i have configured the nextcloud to be properly deploy but it seems that there is an error that i cannot identify following the manual installation for swarm.
I did have to set the environnement values on the docker compose as i couldn t find a way to pass them thru to the docker compose thru config or secrets.
The error I receive is /mnt/docker-aio-config is not a mountpoint. Cannot proceed!
I tried to find threads about this on how to deploy to swarm but it is unclear on why it should request this mountpoint.

If you would be able to help it would be really appreciated.
Thank you all.

My compose below.

version: "3.8"

services:
  nextcloud-aio-apache:
    user: "$PUID:$PGID"
    depends_on:
      - nextcloud-aio-onlyoffice
      - nextcloud-aio-collabora
      - nextcloud-aio-talk
      - nextcloud-aio-nextcloud
    #image: nextcloud/aio-apache:latest
    image: nextcloud/aio-apache:20230501_090621-latest
    ports:
      - 0.0.0.0:8080:80/tcp
    environment:
      - NC_DOMAIN=mydomain.domain.com
      - NEXTCLOUD_HOST=nextcloud-aio-nextcloud
      - COLLABORA_HOST=nextcloud-aio-collabora
      - TALK_HOST=nextcloud-aio-talk
      - APACHE_PORT=80
      - ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
      - TZ=Europe/Lisbon
      - APACHE_MAX_SIZE=10737418240
      - APACHE_MAX_TIME=3600
    volumes:
      - nextcloud_aio_nextcloud:/var/www/html:ro
      - nextcloud_aio_apache:/mnt/data:rw
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-database:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-postgresql:latest
    image: nextcloud/aio-postgresql:20230501_090621-latest
    volumes:
      - nextcloud_aio_database:/var/lib/postgresql/data:rw
      - nextcloud_aio_database_dump:/mnt/data:rw
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - POSTGRES_PASSWORD=PasswordTest
      - POSTGRES_DB=nextcloud_database
      - POSTGRES_USER=nextcloud
      - TZ=Europe/Lisbon
      - PGTZ=Europe/Lisbon
    stop_grace_period: 1800s
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-nextcloud:
    user: "$PUID:$PGID"
    depends_on:
      - nextcloud-aio-database
      - nextcloud-aio-redis
      - nextcloud-aio-clamav
      - nextcloud-aio-fulltextsearch
      - nextcloud-aio-imaginary
    #image: nextcloud/aio-nextcloud:latest
    image: nextcloud/all-in-one:20230501_090621-latest
    volumes:
      - nextcloud_aio_nextcloud:/var/www/html:rw
      - /mnt/nextcloudvip:/mnt/ncdata:rw
      - /mnt/:/mnt/:rw
      - nextcloud_aio_ca-cert:/usr/local/share/ca-certificates:ro
      #- /usr/local/share/ca-certificates/my-custom-ca:/usr/local/share/ca-certificates:ro
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - POSTGRES_HOST=nextcloud-aio-database
      - POSTGRES_PASSWORD=PasswordTest
      - POSTGRES_DB=nextcloud_database
      - POSTGRES_USER=nextcloud
      - REDIS_HOST=nextcloud-aio-redis
      - REDIS_HOST_PASSWORD=PasswordTest
      - AIO_TOKEN=26253210
      - NC_DOMAIN=mydomain.domain.com
      - ADMIN_USER=admin
      - ADMIN_PASSWORD=PasswordTest
      - NEXTCLOUD_DATA_DIR=/mnt/ncdata
      - OVERWRITEHOST=mydomain.domain.com
      - OVERWRITEPROTOCOL=https
      - TURN_SECRET=PasswordTest
      - SIGNALING_SECRET=PasswordTest
      - ONLYOFFICE_SECRET=PasswordTest
      - AIO_URL=localhost
      - NEXTCLOUD_MOUNT=/mnt/
      - CLAMAV_ENABLED="no"
      - CLAMAV_HOST=nextcloud-aio-clamav
      - ONLYOFFICE_ENABLED="no"
      - COLLABORA_ENABLED="no"
      - COLLABORA_HOST=nextcloud-aio-collabora
      - TALK_ENABLED="no"
      - ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
      - UPDATE_NEXTCLOUD_APPS="no"
      - TZ=Europe/Lisbon
      - TALK_PORT=3478
      - IMAGINARY_ENABLED="no"
      - IMAGINARY_HOST=nextcloud-aio-imaginary
      - PHP_UPLOAD_LIMIT=20G
      - PHP_MEMORY_LIMIT=1024M
      - FULLTEXTSEARCH_ENABLED="no"
      - FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch
      - PHP_MAX_TIME=3600
      - TRUSTED_CACERTS_DIR=/usr/local/share/ca-certificates/my-custom-ca
      - STARTUP_APPS="deck twofactor_totp tasks calendar contacts"
      - ADDITIONAL_APKS=imagemagick
      - ADDITIONAL_PHP_EXTENSIONS=imagick
      - INSTALL_LATEST_MAJOR=no
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-redis:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-redis:latest
    image: nextcloud/aio-redis:20230501_090621-latest
    environment:
      - REDIS_HOST_PASSWORD=PasswordTest
      - TZ=Europe/Lisbon
    volumes:
      - nextcloud_aio_redis:/data:rw
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-collabora:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-collabora:latest
    image: nextcloud/aio-collabora:20230501_090621-latest
    environment:
      - aliasgroup1=https://mydomain.domain.com:443
      - extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true --o:security.seccomp=true --o:remote_font_config.url=https://mydomain.domain.com/apps/richdocuments/settings/fonts.json
      - dictionaries="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
      - TZ=Europe/Lisbon
      - server_name=mydomain.domain.com
    volumes:
      - nextcloud_aio_collabora_fonts:/opt/cool/systemplate/tmpfonts:rw
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-talk:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-talk:latest
    image: nextcloud/aio-talk:20230501_090621-latest
    ports:
      - 3478:3478/tcp
      - 3478:3478/udp
    environment:
      - NC_DOMAIN=mydomain.domain.com
      - TURN_SECRET=PasswordTest
      - SIGNALING_SECRET=PasswordTest
      - TZ=Europe/Lisbon
      - TALK_PORT=3478
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-clamav:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-clamav:latest
    image: nextcloud/aio-clamav:20230501_090621-latest
    environment:
      - TZ=Europe/Lisbon
      - CLAMD_STARTUP_TIMEOUT=90
    volumes:
      - nextcloud_aio_clamav:/var/lib/clamav:rw
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-onlyoffice:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-onlyoffice:latest
    image: nextcloud/aio-onlyoffice:20230501_090621-latest
    environment:
      - TZ=Europe/Lisbon
      - JWT_ENABLED=true
      - JWT_HEADER=AuthorizationJwt
      - JWT_SECRET=PasswordTest
    volumes:
      - nextcloud_aio_onlyoffice:/var/lib/onlyoffice:rw
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-imaginary:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-imaginary:latest
    image: nextcloud/aio-imaginary:20230501_090621-latest
    environment:
      - TZ=Europe/Lisbon
    networks:
      - nextcloud_network
    cap_add:
      - SYS_NICE
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

  nextcloud-aio-fulltextsearch:
    user: "$PUID:$PGID"
    #image: nextcloud/aio-fulltextsearch:latest
    image: nextcloud/aio-fulltextsearch:20230501_090621-latest
    environment:
      - TZ=Europe/Lisbon
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms1024M -Xmx1024M
      - POSTGRES_HOST=nextcloud-aio-database
    volumes:
      - nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - nextcloud_network
    deploy:
      mode: global
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      placement:
        constraints:
          - node.hostname == WorkerOnDeploy

volumes:
  nextcloud_aio_apache:
    external: true
    name: nextcloud_aio_apache
  nextcloud_aio_clamav:
    external: true
    name: nextcloud_aio_clamav
  nextcloud_aio_collabora_fonts:
    external: true
    name: nextcloud_aio_collabora_fonts
  nextcloud_aio_database:
    external: true
    name: nextcloud_aio_database
  nextcloud_aio_database_dump:
    external: true
    name: nextcloud_aio_database_dump
  nextcloud_aio_elasticsearch:
    external: true
    name: nextcloud_aio_elasticsearch
  nextcloud_aio_nextcloud:
    external: true
    name: nextcloud_aio_nextcloud
  nextcloud_aio_onlyoffice:
    external: true
    name: nextcloud_aio_onlyoffice
  nextcloud_aio_redis:
    external: true
    name: nextcloud_aio_redis
  nextcloud_aio_ca-cert:
    external: true
    name: nextcloud_aio_ca-cert

networks:
  nextcloud_network:
    name: nextcloud_network

Hey guys.

Update on the issue.

I was able to deploy the service for nextcloud properly by using the

image: nextcloud/aio-nextcloud:latest

Instead of the image

image: nextcloud/all-in-one:20230501_090621-latest

I still don’t know why this image fails to mountpoint that folder but by using the latest image it does deploy.
I rather use an image that has the version of image to be used properly set on the docker but for some reason it is unable to use it.
I am still having issues with all the other services which i am now troubleshooting.
I will further update this thread with latest status of the issue.

Thank you all.

After some troubleshooting on the issue i was able to see that the

user: “$PUID:$PGID”

should not be set.
After this i was able to deploy almost all services properly.
There is still an issue on the talk service and the database.

The error seems to be here but i am unable to identify where the error lies.

/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/init-user-db.sh

  • touch /mnt/data/initialization.failed
  • psql -v ON_ERROR_STOP=1 --username nextcloud --dbname nextcloud_database
  • rm /mnt/data/initialization.failed

If someone is able to give me some pointers.
Thank you in advance.
Cheers

Hi, see all-in-one/manual-install at main · nextcloud/all-in-one · GitHub.

Apparently you clearly dont know what you are doing so I would not recommend this dwployment method to you.

Hi. Already seen the document.

Maybe i am doing it to learn and asked for help to try to fix what i am doing wrong and understand?

Best Regards