Docker Installation

Server

Docker Command Line

docker run -d \
--name FileFlows \
-p 5000:5000 \
-e TempPathHost:/path/to/temp \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /path/to/data:/app/Data \
-v /path/to/logging:/app/Logs \
-v /path/to/temp:/temp \
-v /path/to/media:/media \
--restart unless-stopped \
revenz/fileflows

Docker Template

version: '3.7'
services:
  fileflows:
    image: revenz/fileflows
    container_name: fileflows
    environment:
      - TZ=Pacific/Auckland
      - TempPathHost=/path/to/temp
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /path/to/data:/app/Data
      - /path/to/logs:/app/Logs
      - /path/to/temp:/temp
      - /path/to/media:/media
    ports:
      - 5000:5000
    restart: unless-stopped

Docker with NVIDIA Hardware Encoding

docker run -d \
--name FileFlows \
-p 5000:5000 \
-e NVIDIA_DRIVER_CAPABILITIES=compute,video,utility \
-e NVIDIA_VISIBLE_DEVICES=all \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /mnt/docker/fileflows/data:/app/Data \
-v /mnt/docker/fileflows/logs:/app/Logs \
-v /mnt/docker/fileflows/temp:/temp \
-e /mnt/docker/fileflows/temp:/temp \
--runtime nvidia \
--restart unless-stopped \
revenz/fileflows

Docker compose

version: '3.7'
services:
  fileflows:
    image: revenz/fileflows
    container_name: fileflows
    runtime: nvidia
    environment:
      - TZ=Pacific/Auckland
      - TempPathHost=/temp
      - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
      - NVIDIA_VISIBLE_DEVICES=all
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /mnt/docker/fileflows/data:/app/Data
      - /mnt/docker/fileflows/logs:/app/Logs
      - /mnt/docker/fileflows/temp:/temp
    ports:
      - 5000:5000
    restart: unless-stopped

Parameters

Type Variable Description
-p 5000 The port of the FileFlows interface
-e TempPathHost This is the physical path on the host where the temp path is used. This is needed when a sibling docker container is created in the flow execution. This path will be mapped into the sibling container
-v …/docker.sock This allows FIleFlows to start sibling docker containers, so 3rd party applications to be executed within the flow
-v /app/Data The data directory of FileFlows. Where the database and configuration will be saved
-v /app/Logs Where logs will be saved
-v /temp The temp directory for the internal processing node.
-v /media Optional mapped path. You can map as many as you want
-v NVIDIA_VISIBLE_DEVICES The Nvidia GPU UID that identifies your GPU, eg GPU-0d5bb4da-23e4-9e65-15b2-8c6d30

Docker Node

Node configuration is almost identical to the server, except you need to add the follow environmental values

Name Variable Description
FFNODE 1 Tells container it is running as a Node
ServerUrl http://server:5000 The URL address of the FileFlows server
© 2022 FileFlows