Docker permisions to run occ command

I get this error when I click on update geo of the memories plugin

imagen

A new tab is opened with this url http://10.10.40.160/apps/memories/api/occ/places-setup but is blank and nothing happens

unlink(/tmp/planet_coarse_boundaries.zip): No such file or directory at /var/www/html/custom_apps/memories/lib/Service/Places.php

If I run the command occ memories:places-setup
i get this errrors

imagen

Platform:

Docker
Nextcloud Hub 4 (26.0.1)
Memories 5.1.0

Not sure about the docker stuff, I’d try to run the sudo within the container Nextcloud:
docker exec Nextcloud sudo -u 82 php occ memories:places-setup

If 82 is not the user name just the user id, it is perhaps #82 instead:
docker exec Nextcloud sudo -u #82 php occ memories:places-setup

for you cat /etc/passwd, I suppose that is for the main system and there is a different one for the container. Or there was a user and it’s just the UID left in the filesystem. I am not a docker user…

thanks for the input, I tried but it didn’t work

but I tried without sudo and it worked

but now it says that I need an “interactive terminal”

I can execute as well the command from inside the docker container but don’t know how

There seems to be an interactive mode -i:

1 Like

docker exec -ti would start an interactive terminal…

PS: just for reference of future readers: user www-data (or id=33) is AFAIK most common - while 82 is right for OP system.

1 Like

Thanks to everyone at the end this command worked

docker exec -u 82 -it Nextcloud php occ memories:places-setup

Unless you already know why you’re doing so, don’t run docker via sudo. And if you want the program (occ in this case) to run with a particular UID/user within a container the -u parameter needs to be provided to docker’s exec command.

Something like:

docker exec -u82 <container_name> <command>

1 Like

Adjust to docker compose ... if using Compose (which I highly recommend if not but that’s neither here nor there at the moment).

I’m using compose, but how is my issue related with my compose configuration?

###############################################################
# Nextcloud
###############################################################

version: '3.8'

# Networks ####################################################

networks:
  br1:
    driver: macvlan
    external: true
  nextcloud_network:
    internal: true

# Services ####################################################

services:

  mariadb:
    image: mariadb:10.6
    container_name: MariaDBNC
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    healthcheck:
      test: ["CMD-SHELL", "mysql nextcloud -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'SELECT 1;'  || exit 1"]
      interval: 2s
      retries: 120
    volumes:
      - /mnt/user/Docker/Nextcloud/mariadb:/var/lib/mysql
    environment:
      - TZ
      - MYSQL_ROOT_PASSWORD
      - MYSQL_PASSWORD
      - MYSQL_DATABASE
      - MYSQL_USER
      - MARIADB_AUTO_UPGRADE=1
      - MARIADB_DISABLE_UPGRADE_BACKUP=1
    networks:
      - nextcloud_network 
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

  redis:
    image: redis:alpine
    container_name: RedisNC
    restart: unless-stopped
    command: redis-server --requirepass $REDIS_HOST_PASSWORD
    volumes:
      - /mnt/user/Docker/Nextcloud/redis:/data
    environment:
      - TZ
    networks:
      - nextcloud_network
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

  app:
    image: nextcloud:fpm-alpine
    container_name: Nextcloud
    restart: unless-stopped
    depends_on:
      mariadb:
        condition: service_healthy
    volumes:
      - /mnt/user/Docker/Nextcloud/nextcloud:/var/www/html
      - /mnt/user/Personal/Nextcloud:/var/www/html/data
    environment:
      - TZ
      - MYSQL_PASSWORD
      - MYSQL_DATABASE
      - MYSQL_USER
      - MYSQL_HOST=mariadb
      - REDIS_HOST=redis
      - REDIS_HOST_PASSWORD
    networks:
      nextcloud_network:
      br1:
        ipv4_address: 10.10.40.161
    dns:
      - 10.10.50.5
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

  web:
    build: ./web
    container_name: Nginx-fpm
    restart: always
    networks:
      nextcloud_network:
      br1:
        ipv4_address: 10.10.40.160
    ports:
      - 8080:80
    dns:
      - 10.10.50.5
    volumes:
      - /mnt/user/Docker/Nextcloud/nextcloud:/var/www/html:ro
    environment:
      - TZ
      - PUID
      - PGID
    depends_on:
      - app

  cron:
    image: nextcloud:fpm-alpine
    container_name: CronNC
    restart: unless-stopped
    depends_on:
      - mariadb
      - redis
    volumes:
      - /mnt/user/Docker/Nextcloud/nextcloud:/var/www/html
      - /mnt/user/Personal/Nextcloud:/var/www/html/data
    environment:
      - TZ
      - PUID
      - PGID
    networks:
      - nextcloud_network
    entrypoint: /cron.sh
    labels:
      - "com.centurylinklabs.watchtower.enable=true"