A lightweight data platform & intelligent notebook environment. Query SQL/NoSQL databases in natural language, materialize results to local Parquet via DuckDB, and analyze them in a sandboxed Python notebook — with full support for local LLMs.
docker pull alone won't run thisSpore is not a single container. It's a small stack:
spore — the Flask app (this image)redis — session store (isolated, internal network only)kernel-dind — a rootless Docker-in-Docker daemon that spawns isolated, per-session
Python kernels (this is the sandbox that keeps your code execution off the host)anshsharma2903/spore-kernel:<pyversion> — the kernel image, pulled into DinDSo you run it with Docker Compose, not a bare docker run.
# 1. Grab the run-only compose file (no source checkout needed)
curl -fsSL https://raw.githubusercontent.com/ansh2903/spore/main/docker/docker-compose.hub.yml -o docker-compose.yml
# 2. Start the stack
docker compose up -d
Then open http://localhost:5000.
To stop: docker compose down (add -v to also wipe the data volume).
Drop a .env file next to docker-compose.yml:
# Pick the sandbox Python version. A matching kernel tag must exist:
# anshsharma2903/spore-kernel:3.11 / :3.12 / :3.13
KERNEL_PYTHON_VERSION=3.12
# Point at your own LLM endpoints.
# NOTE: host-side Ollama/LM Studio must listen on 0.0.0.0 (not 127.0.0.1),
# and your host firewall must allow the Docker bridge subnet.
OLLAMA_BASE=http://host.docker.internal:11434
LMSTUDIO_BASE=http://host.docker.internal:1234
OPENAI_BASE=https://api.openai.com/v1
# Session/credential encryption key. A shared default ships for zero-friction
# trials, but for any real/shared deployment set your own:
# python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
ENCRYPTION_KEY=
docker compose pull
docker compose up -d
The app updates immediately. To refresh the kernel image inside the DinD sandbox:
docker exec spore-kernel-dind docker pull anshsharma2903/spore-kernel:3.12
The entry point — connect to a data source and start querying.

Preview, filter, and materialize remote query results into local files.

Analyze materialized data in a rich Python notebook with live Jupyter kernels.

Build and share interactive reports from your analysis.

anshsharma2903/spore:latest — the applicationanshsharma2903/spore-kernel:3.12 — the sandboxed Python kernel (companion image)no-new-privileges, and memory/PID limits.Content type
Image
Digest
sha256:ee122ceba…
Size
415.3 MB
Last updated
3 months ago
docker pull anshsharma2903/spore