Recaster as a Docker container

This section provides instructions for deploying and running the software as a Docker container on a Linux environment.

Prerequisites

Ensure Docker is installed on your Linux system. Refer to the Docker documentation for installation instructions specific to your Linux distribution.
If you prefer managing your Docker deployment with Docker Compose, ensure that Docker Compose is also installed.

Docker Compose

Create Docker Compose Configuration File or download it from the github repository:

  • Create a docker-compose.yml file in your preferred directory and define the services required for running the Recaster.

Example docker-compose.yml:

version: '3.4'

services:
    recaster:
        image: impleo/recaster:2.8.7
        container_name: recaster
        restart: always
        env_file: .env
        environment:
            PORT: ${PORT}
            BIND_IP: ${BIND_IP}
            USING_REVERSE_PROXY: ${USING_REVERSE_PROXY}
            KEEP_BITRATE_ITEMS: ${KEEP_BITRATE_ITEMS}
            BITRATE_UPDATE_INTERVAL: ${BITRATE_UPDATE_INTERVAL}
            START_PREVIEW_PORT: ${START_PREVIEW_PORT}
        volumes:
            - ./data/:/recaster/data/
            - recasterdb:/recaster/db/
            - recasterlic:/recaster/licenses/
        network_mode: host

volumes:
    recasterdb:
        external: false
    recasterlic:
        external: false

In the above example we have set up environment variables for recaster service using the env_file directive to load variables from a .env file. It is possible to set the directly.
If the environment variables like PORT, BIND_IP, START_PREVIEW_PORT, KEEP_BITRATE_ITEMS, and BITRATE_UPDATE_INTERVAL are not provided, the recaster will use default values specified by the application.

Providing initial platform configuration

You can provide initial configuration for the platform by mounting a volume to the container. Simply create a directory named data in your preferred location and copy the platform configuration file platforms.yml into it.
More on platform configuration file format

Running the container without Docker Compose

While Docker Compose provides a convenient way to manage multi-container applications, you can achieve similar functionality using a simple docker run command. Instead of defining services and configurations in a Docker Compose file, you can manually specify container options such as environment variables, volume mounts, and networking settings with docker run. Simply use the docker run command followed by the necessary options and the image name to start your containerized Recaster application.

docker run -d \
    --name recaster \
    --restart always \
    -e PORT=5000 \
    -e BIND_IP=192.168.1.42 \
    -v $(pwd)/data/:/recaster/data/ \
    -v recasterdb:/recaster/db/ \
    -v recasterlic:/recaster/licenses/ \
    --network host \
    impleo/recaster:2.8.7