Skip to main content

Docker

A pre-built multi-arch image (linux/amd64, linux/arm64) is published to GitHub Container Registry on every release.

Pulling the image

docker pull ghcr.io/freshmag/scarfolder:latest
# or pin to a specific version
docker pull ghcr.io/freshmag/scarfolder:1.0.0

Running a pipeline

Mount your project directory to /workspace. That path is automatically on PYTHONPATH, so your custom plugins are importable with no extra setup.

docker run --rm \
-v ./my_project:/workspace \
ghcr.io/freshmag/scarfolder:latest \
run scarf.yaml -planguage=it

Docker Compose

# docker-compose.yml
services:
scarfolder:
image: ghcr.io/freshmag/scarfolder:latest
volumes:
- .:/workspace
command: ["run", "scarf.yaml", "-planguage=it"]
docker compose run --rm scarfolder

Building locally

docker build -t scarfolder:dev .
docker run --rm -v ./my_project:/workspace scarfolder:dev run scarf.yaml

Additional plugin paths

Use SCARFOLDER_PLUGINS_PATH (colon-separated) to inject directories beyond /workspace:

docker run --rm \
-v ./my_project:/workspace \
-v ./shared_plugins:/plugins \
-e SCARFOLDER_PLUGINS_PATH=/plugins \
ghcr.io/freshmag/scarfolder:latest \
run scarf.yaml