Skip to content
screenjson

Greenlight

Deploy Greenlight with Docker Compose

Stand up Greenlight locally with Redis, MinIO, and the Greenlight service in one docker-compose command.

Last updated January 2026

What you’ll have at the end

A local Greenlight instance at http://localhost:19000, backed by Redis (queue) and MinIO (S3-compatible object storage).

Step 1 — Clone

git clone https://github.com/screenjson/greenlight.git
cd greenlight

Step 2 — Env

cp env.example backend/.env

Open the file, review it; the defaults are fine for a local run.

Step 3 — Build & run

docker build -f deployment/Dockerfile -t screenjson/greenlight:latest .
cd deployment
docker-compose up

Step 4 — Open the UI

http://localhost:19000

Submit a job, pick a pipeline, watch it run.

Step 5 — Drop a file directly into MinIO

The docker-compose stack exposes MinIO at http://localhost:9000 (console) and http://localhost:9001 (S3 API). Drop a file into the ingest/ bucket and Greenlight picks it up automatically.

Troubleshooting

Port 19000 already in use — change the port mapping in deployment/docker-compose.yml.

Workers not picking up jobs — check the Redis container is reachable and REDIS_URL in backend/.env points to it.

Next