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
.
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.
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
.
Access Token
If Security is enabled then an Access Token
must be provided to allow the node to connect to the server.
This Access Token
is found on the Security
tab on the Settings page.
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.
PUID
The PUID (Process User ID) is an optional field where you can specify the User ID under which the process will run. If left empty, the process will use the default user. Enter a numeric User ID (UID) to run the process as a specific user.
Example:
99
PGID
The PGID (Process Group ID) is an optional field where you can specify the Group ID under which the process will run. If left empty, the process will use the default group. You can enter a numeric Group ID (GID) or a group name.
To specify multiple groups, separate each Group ID or name with a semicolon (;
). The process will be associated with all specified groups. Each Group ID or name will be resolved, and if the group does not exist, it will be created.
Examples:
- Single Group ID:
100
- Multiple Group IDs:
100;200;300
- Group Names:
video;audio
Note: If using group names, ensure that they correspond to existing groups on the system.
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.
Common Directory
The Common Directory serves as a shared location for various DockerMods installations. By exposing it as a volume, DockerMods can persist across container recreations, eliminating the need for reinstallation and significantly reducing setup time.
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.