Running with Docker
docker run --rm \
-e LOOM_HOST=loom.internal \
-e LOOM_PORT=7733 \
-v /media/assets:/data \
metaloom/cortex:latest \
process run /data
Server Mode
docker run -d \
--name cortex \
-p 8093:8093 \
-e LOOM_HOST=loom.internal \
-e LOOM_PORT=7733 \
-v cortex-meta:/root/.cache/metaloom/cortex/meta \
metaloom/cortex:latest \
server start
Docker Compose with Loom
version: "3.8"
services:
postgres:
image: postgres:16
environment:
POSTGRES_DB: loom
POSTGRES_USER: postgres
POSTGRES_PASSWORD: secret
loom:
image: metaloom/loom:latest
depends_on: [postgres]
ports:
- "8092:8092"
environment:
LOOM_DB_HOST: postgres
LOOM_DB_PASSWORD: secret
cortex:
image: metaloom/cortex:latest
depends_on: [loom]
command: server start
environment:
LOOM_HOST: loom
LOOM_PORT: 7733
volumes:
- /media/assets:/data
- cortex-meta:/root/.cache/metaloom/cortex/meta
volumes:
cortex-meta:
Kubernetes CronJob
Cortex can run as a Kubernetes CronJob for scheduled batch processing:
apiVersion: batch/v1
kind: CronJob
metadata:
name: cortex-ingest
spec:
schedule: "*/15 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: cortex
image: metaloom/cortex:latest
args: ["process", "run", "/data"]
env:
- name: LOOM_HOST
value: loom.svc.cluster.local
- name: LOOM_PORT
value: "7733"
volumeMounts:
- name: media
mountPath: /data
volumes:
- name: media
persistentVolumeClaim:
claimName: media-pvc
restartPolicy: OnFailure