docker compose support

Support for unRAID and docker container users
Post Reply
User avatar
rednoah
The Source
Posts: 24009
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

docker compose support

Post by rednoah »

I'm setting up Filebot in a docker/container to rename files as they are dropped into a folder. The process relies on the .psm file, but it's showing an error instead.

Current setup -

Code: Select all

filebot:
  image: rednoah/filebot:latest
  container_name: filebot
  volumes:
    - /volume1/media:/data
    - /volume1/docker/filebot:/config
    - /volume1/docker/filebot/FileBot_License_P1234567.psm:/opt/filebot/license.psm  # ✅ mount original name to expected path
  networks:
    - media-clear
  entrypoint: tail -f /dev/null
  restart: unless-stopped
Testing using the following commands -

Code: Select all

docker exec filebot filebot --license
Successful output - License: Filebot License (email)
Current output -

Code: Select all

Error Bad License Key: PGP Signed Message not found


filebot --license means "read license key from standard input and save it to the application data folder" which doesn't make sense when you're using docker and don't have a console for standard input. Moreover, you don't need to "install" your license in the first place since you yourself already map it at the expected file path. Remember that filebot --license merely reads the license key and then saves it to the application data folder.

That said, every single line in the volume mappings is wrong and doesn't do what you seem to think it does:

Code: Select all

  volumes:
    - /volume1/media:/data
    - /volume1/docker/filebot:/config
    - /volume1/docker/filebot/FileBot_License_P1234567.psm:/opt/filebot/license.psm  # ✅ mount original name to expected path
The /config mapping suggests that you're following instructions from another container. The rednoah/filebot container does not use /config for application data. The rednoah/filebot container does use /data for application data and notably not for accessing the host file system. The line that tries to pre-install the license doesn't do anything since the rednoah/filebot container expects all application data in the /data application data folder.

The rednoah/filebot container itself is simply the filebot command-line tool, and notably not a web application service.


In any case, back to square one, let's assume you just want to run FileBot (the Desktop app) as a docker container (i.e. remote Desktop accessible via a WebUI) so you'll want to just follow the filebot-xpra instructions here:
https://github.com/filebot/filebot-dock ... lebot-xpra

e.g.

Code: Select all

# docker-compose.yml
version: '3.3'
services:
  filebot:
    container_name: filebot-xpra
    image: rednoah/filebot:xpra
    restart: unless-stopped
    volumes:
      - data:/data
      - /volume1/media:/volume1/media
    ports:
      - 5454:5454
    environment:
      - XPRA_AUTH=password:value=YOUR_PASSWORD
* I'm doing /volume1/media:/volume1/media so your media files on the host are accessible at the same file path from within the container, as to avoid confusion.
* I'm not pre-installing a license key via volume mappings, as to avoid confusion. filebot-xpra gives you the FileBot Desktop application so you can just select your license key from the host file system (i.e. from somewhere in /volume1/media) when needed. This will be a one-time operation.
:idea: Please read the FAQ and How to Request Help.
Post Reply