Skip to content

basic

What it demonstrates

Single-container puddle with a SQLite metastore and a local-filesystem warehouse. No auth, no client. The fastest way to verify puddle boots and serves the REST API.

Run it

cd examples/compose/basic
docker compose up

Catalog REST at http://localhost:8089/api/catalog with warehouse=default.

docker-compose.yml

Source on GitHub.

docker-compose.yml
# Self-contained docker-compose for running puddle with a SQLite
# metastore and a local-filesystem warehouse. No auth, no client.
#
# Run:
#   docker compose up
# Catalog REST at http://localhost:8089/api/catalog (warehouse=default).

configs:
  puddle-config:
    content: |
      logging:
        level: info
        format: text

      metastore:
        type: sqlite
        sqlite:
          path: /var/lib/puddle/puddle.db

      warehouses:
        default:
          location: file:///var/lib/puddle/warehouse

services:
  puddle:
    image: ghcr.io/ragnard/puddle:latest
    ports: ["8089:8089"]
    volumes:
      - puddle-data:/var/lib/puddle
    configs:
      - source: puddle-config
        target: /etc/puddle/puddle.yaml
    command: ["/puddle", "-c", "/etc/puddle/puddle.yaml"]
    restart: unless-stopped

volumes:
  puddle-data: