Skip to content
liteio

Docker

Run liteio in a container.

The image is a scratch base with just the static binary and no shell, so it is small and has almost no attack surface. It is published to the GitHub Container Registry.

docker pull ghcr.io/tamnd/liteio:latest

Single node

Mount one host directory per drive and pass the config as environment:

docker run -d \
  --name liteio \
  -p 9000:9000 \
  -p 9001:9001 \
  -v /mnt/drive1:/data/d1 \
  -v /mnt/drive2:/data/d2 \
  -v /mnt/drive3:/data/d3 \
  -v /mnt/drive4:/data/d4 \
  -e LITEIO_DRIVES=/data/d1,/data/d2,/data/d3,/data/d4 \
  -e LITEIO_ACCESS_KEY=admin \
  -e LITEIO_SECRET_KEY=changeme \
  ghcr.io/tamnd/liteio:latest

Compose

services:
  liteio:
    image: ghcr.io/tamnd/liteio:latest
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - drive1:/data/d1
      - drive2:/data/d2
      - drive3:/data/d3
      - drive4:/data/d4
    environment:
      LITEIO_DRIVES: /data/d1,/data/d2,/data/d3,/data/d4
      LITEIO_ACCESS_KEY: admin
      LITEIO_SECRET_KEY: changeme
    restart: unless-stopped

volumes:
  drive1:
  drive2:
  drive3:
  drive4:

Use four separate volumes, not four subdirectories of one. liteio treats each as an independent drive, and parity only protects you if the drives can fail independently.

Build the image yourself

The Dockerfile lives in the repo root. It is a multi-stage build that compiles the binary and copies it onto scratch, producing an image under 20 MB:

docker build -t liteio:local .