Skip to main content

DockerMods

DockerMods enable you to incorporate extra packages, applications, and execute general modifications across all FileFlows Docker instances.

For instance, should you desire to integrate an extra application into your workflow, you can utilize a DockerMod to install it, ensuring availability across all Docker instances.

Likewise, if you aim to integrate an additional tool or configure custom variables, you can achieve this through a tailored DockerMod.

danger

Only install the DockerMods you truly need, rather than every available option. Installing unnecessary DockerMods adds to the upgrade time and increases the Docker container's size, as each DockerMod must be reinstalled during updates.

Order

DockerMods will be installed in the order they appear in the list. So if you have a DockerMod that depends on another DockerMod, make sure the dependency is higher in the list.

Repository

The repository houses user-contributed DockerMods, offering a plethora of pre-configured applications for seamless installation.

Uninstalling

When a DockerMod is uninstalled, it is re-executed with the parameter --uninstall.

In your DockerMod it is recommended you handle this parameter and uninstall it.

Example

This is an example DockerMod that installs nano.

#!/bin/bash

# Function to handle errors
function handle_error {
echo "An error occurred. Exiting..."
exit 1
}

# Check if the --uninstall option is provided
if [ "$1" == "--uninstall" ]; then
echo "Uninstalling Neofetch..."
if apt-get remove -y nano; then
echo "nano successfully uninstalled."
exit 0
else
handle_error
fi
fi

# Check if nano is installed
if command -v nano &>/dev/null; then
echo "nano is already installed."
exit 0
fi

echo "nano is not installed. Installing..."

# Update package lists and install nano
if ! apt update || ! apt install -y nano; then
handle_error
fi

# Verify installation
if command -v nano &>/dev/null; then
echo "nano successfully installed."
exit 0
fi

echo "Failed to install nano."
exit 1