Skip to main content

Docker

Generator

version: '3.7'
services:
  fileflows:
    image: revenz/fileflows
    restart: unless-stopped
    ports:
      - "19200:5000"

Type

Server

The server is the core of the FileFlows application, serving as the central hub that other processing nodes connect to. Every FileFlows installation a server to function.

The server also includes an internal processing node, providing a seamless option for users who do not require additional processing nodes.

Processing Node

A processing node offers flexibility by allowing you to offload file processing tasks from the server or distribute them across multiple processing nodes. You can utilize both the internal processing node on the server and any number of external processing nodes to optimize your file processing workflow.


Tag

Latest

This is the default version of FileFlows and recommended for most users. If in doubt go with this version.

Modded

This is a version that contains additional packages, and should only be used if your container has issues connecting to the internet preventing the use of DockerMods. It is strongly suggested you use the Latest image and DockerMods, but if that isn't an option, this contains a version of FFmpeg and ImageMagick. Do not use DockerMods with this version.


Port

The Port FileFlows will be accessible from. The default port used is 19200.


Server URL

The URL to the FileFlows server. For example, http://192.168.1.5:19200 or if using a reverse proxy http://fileflows.lan.


Node Name

Setting the node name ensures that the processing node registers with a specific identifier in FileFlows. This identifier is what appears in FileFlows for this processing node.

By defining a node name, you ensure consistency even if the container is recreated and the hostname changes. This prevents the node from being re-registered and avoids creating duplicates in FileFlows. Set the node name to maintain stability and avoid disruptions in your FileFlows environment.


NVIDIA

This configures the container for NVIDIA support, setting the require enviromental variables and the NVIDIA runtime.


Intel QSV

This passes in the intel QSV device, most commonly found at /dev/dri into the container, allowing FileFlows to use Intel's QSV for hardware decoding and encoding.


Docker Sibling Containers

Docker sibling containers allow the user to execute a process in a separate container that is not directly accessible to the main FileFlows container. This feature enables the execution of tasks or access to services that are isolated from the main container's environment. However, it's important to note that this is an advanced feature and is typically unnecessary for regular usage. If you're unsure about its usage, it's best not to enable it.


Timezone

The timezone setting follows the IANA Time Zone Database conventions. If you're unsure about the timezone value to use, you can look up your timezone by visiting List of tz Database Time Zones.


Temp Path

The temporary directory where the flow runner will create temporary files when executing a flow.

It is recommended that this be set on a fast drive, such as an NVMe drive.


Data Directory

The data directory serves as the central hub for storing configuration settings and essential data for both the server and processing node functionalities.

For the server, ensuring the safety and reliability of this directory is paramount. Regular backups are highly recommended to safeguard against data loss and maintain uninterrupted operation.


Logs Directory

The logs directory is where all log files, including those for individual processed files, are stored.

While this data is important for monitoring and troubleshooting, it's not crucial to back up this directory. Losing access to the log files will not significantly impact the operation of FileFlows. However, without access to these logs, you may experience difficulty in tracking the processing history of files.


Additional Volumes

Additional volumes allow you to map specific folders from your host machine into the Docker container. This feature enables you to process files from external directories, such as "media," "audio," "video," and more, directly within FileFlows.

By specifying additional volumes, you can seamlessly integrate external data sources into your FileFlows workflow, expanding the scope of files that can be processed. Whether you're handling media files, audio recordings, video footage, or other types of data, leveraging additional volumes empowers you to tailor FileFlows to your specific needs.