Containers

The Loom server container image, its variants and the volumes, ports and environment it expects.

The Loom server is distributed as the metaloom/loom-server image (JVM and -native variants). For a zero-config first run, use the all-in-one metaloom/loom-demo image instead — see Getting Started. The full image list is on Container Images.

Running with Docker

docker run -d \
  --name loom \
  -p 8092:8092 \
  -p 8091:8091 \
  -p 8989:8989 \
  -e LOOM_DB_HOST=postgres \
  -e LOOM_DB_PASSWORD=secret \
  -e LOOM_INITIAL_PASSWORD=admin123 \
  metaloom/loom-server:latest

Docker Compose

version: "3.8"
services:
  postgres:
    image: postgres:18
    environment:
      POSTGRES_DB: loom
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: secret

  loom:
    image: metaloom/loom-server:latest
    depends_on:
      - postgres
    ports:
      - "8092:8092"
      - "8989:8989"
    environment:
      LOOM_DB_HOST: postgres
      LOOM_DB_PASSWORD: secret
      LOOM_INITIAL_PASSWORD: admin123
Note
PostgreSQL 18 or newer is required. Loom’s schema generates primary keys with the built-in uuidv7() function, so that new elements appear at the end of a list rather than in a random position. On an older server the database migration stops with an explicit version error.

To add processing, run one or more Cortex workers pointed at this Loom instance on port 8092.

Looking for something else?