Skip to content
screenjson

Greenlight

Use MinIO as blob storage for Greenlight

Run Greenlight against a self-hosted MinIO instance — ideal for local dev, on-prem deployments, or air-gapped pipelines.

Last updated January 2026

Why MinIO

S3-compatible, drop-in replaceable for S3, runs on your own hardware. For any workload that can’t leave the network — studio-internal archives, legal holds, sensitive development — MinIO is the right backend.

Environment

# backend/.env
BLOB_TYPE=minio
BLOB_ENDPOINT=http://minio:9000
BLOB_BUCKET=screenjson
BLOB_REGION=us-east-1
AWS_ACCESS_KEY_ID=minioadmin
AWS_SECRET_ACCESS_KEY=minioadmin

Compose it together

services:
  minio:
    image: minio/minio
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      - MINIO_ROOT_USER=minioadmin
      - MINIO_ROOT_PASSWORD=minioadmin
    volumes:
      - minio:/data

  greenlight:
    image: screenjson/greenlight:latest
    depends_on: [minio, redis]
    ports: ["19000:19000"]
    env_file: backend/.env

  redis:
    image: redis:7
    ports: ["6379:6379"]

volumes:
  minio:

Create the bucket

docker run --rm --network host minio/mc \
  alias set local http://localhost:9000 minioadmin minioadmin
docker run --rm --network host minio/mc mb local/screenjson

Next