Docker and plugins

I’m running KB in Docker. I used it on my Raspberry before, but I got a real home server so I migrated everything from my RPI. Everything works fine except the plugins. I read on the forum so I set 755 on the plugins folder. But still I got the following
Your Kanboard instance is not configured to install plugins from the user interface.
error.

What am I missing? Is it possible that the zip library is missing from the official Docker image?


docker-compose.yml

version: "3.7"

services:
  kanboard:
    image: kanboard/kanboard
    container_name: kanboard
    restart: unless-stopped
    environment:
      DATABASE_URL: "postgres://kanboard:${PASSWORD}@db:5432/kanboard"
    volumes:
      - "kanboard-data:/var/www/app/data"
      - "kanboard-plugins:/var/www/app/plugins"
    networks:
      - postgres-network
      - traefik-network
    labels:
      - "traefik.enable=true"
      - "traefik.backend=kb"
      - "traefik.frontend.rule=Host:kb.${DOMAINNAME}"
      - "traefik.port=80"
      - "traefik.docker.network=traefik-network"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=example.com"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.frameDeny=true"

volumes:
  kanboard-data:
    driver: local-persist
    driver_opts:
      mountpoint: "${DOCKER_VOLUMES}/kanboard/data"
  kanboard-plugins:
    driver: local-persist
    driver_opts:
      mountpoint: "${DOCKER_VOLUMES}/kanboard/plugins"

networks:
  postgres-network:
    external: true
  traefik-network:
    external: true

data and plugin folder

drwxr-xr-x  3 _apt systemd-journal 4.0K Sep 19 18:08 data
drwxrwxrwx 11 _apt systemd-journal 4.0K Jul  3 08:48 plugins

config.php

// Plugins directory
define('PLUGINS_DIR', __DIR__.DIRECTORY_SEPARATOR.'plugins');

// Plugins directory URL
define('PLUGIN_API_URL', 'https://kanboard.org/plugins.json');

// Enable/Disable plugin installer (Disabled by default for security reasons)
// There is no code review or any approval process to submit a plugin.
// This is up to the Kanboard instance owner to validate if a plugin is legit.
define('PLUGIN_INSTALLER', true);

hmm, your config.php is inside the data folder?
If so, and you’re setting the PLUGINS_DIR to __DIR__.DIRECTORY_SEPARATOR.'plugins', then kanboard is searching for it inside the data folder.
change to

define('PLUGINS_DIR', __DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR .'plugins');
1 Like

Yes, my config.php is in the data folder.

Thank you very much.