Install
Outtake runs as one container next to your Plex Media Server. It needs to reach the server over the network and to read the media files Plex plays.
What you need
- A Plex account and a Plex Media Server that Outtake can reach.
- Read access to the media files Plex reports, mounted into the container or on the host.
- Docker with Compose. The image ships
ffmpegandffprobe, so there is nothing else to install.
Install with Docker Compose
The images are ghcr.io/papagolabs/outtake and papagolabs/outtake. Save this as docker-compose.yaml. It is the same file as examples/docker/docker-compose.yaml:
services:
outtake:
image: ghcr.io/papagolabs/outtake:latest
container_name: outtake
ports:
- "8080:8080"
volumes:
- outtake-data:/data
- ${OUTTAKE_MEDIA_PATH:-/path/to/your/media}:/media:ro
environment:
OUTTAKE_LOG_LEVEL: info
OUTTAKE_LISTEN_ADDR: 0.0.0.0:8080
OUTTAKE_PUBLIC_BASE_URL: ${OUTTAKE_PUBLIC_BASE_URL:-http://localhost:8080}
OUTTAKE_PLEX_MEDIA_ROOT: ${OUTTAKE_PLEX_MEDIA_ROOT:-}
OUTTAKE_LOCAL_MEDIA_ROOT: ${OUTTAKE_LOCAL_MEDIA_ROOT:-/media}
restart: unless-stopped
volumes:
outtake-data:Point OUTTAKE_MEDIA_PATH at the directory that holds the files Plex plays, then start it:
export OUTTAKE_MEDIA_PATH=/path/to/your/media
docker compose up -dOpen http://localhost:8080.
The database and the clips you make live in the outtake-data volume, mounted at /data. The media mount is read-only, and Outtake never writes to it.
If Plex reports a different path for the files than the one they have inside the container, set OUTTAKE_PLEX_MEDIA_ROOT too. Media paths explains how the two settings combine. If you open Outtake from another machine, set OUTTAKE_PUBLIC_BASE_URL to the URL you use, as Opening Outtake from another machine describes.
Docker without Compose
docker run -d \
--name outtake \
-p 8080:8080 \
-v outtake-data:/data \
-v /path/to/your/media:/media:ro \
-e OUTTAKE_LOCAL_MEDIA_ROOT=/media \
-e OUTTAKE_PUBLIC_BASE_URL=http://localhost:8080 \
ghcr.io/papagolabs/outtake:latestThe image runs /outtake server start.
Build the image from source
From a checkout of the repository, copy .env.example to .env, set OUTTAKE_MEDIA_PATH in it, and build:
cp .env.example .env
docker compose up --buildThat builds build/docker/Dockerfile.dev, which bundles the same FFmpeg as the published image.
A host binary
Tagged releases are not published yet, so use the image for now. A host binary needs ffmpeg and ffprobe from FFmpeg 8 or later, built with libx264, libx265, and zimg, on PATH or named by OUTTAKE_FFMPEG_PATH and OUTTAKE_FFPROBE_PATH. Earlier versions copy HDR metadata into SDR clips and write HEVC files some players refuse. It listens on 0.0.0.0:8080 and keeps its database and clips under ~/.local/share/outtake/ on Linux.
./outtake server startFor a cluster, see Kubernetes.
Next steps
Open Outtake and log in with Plex. The first account to log in owns it.