Skip to content

Docker Quickstart

Docker Quickstart — Full Stack in One Command

Section titled “Docker Quickstart — Full Stack in One Command”

Zero prerequisites beyond Docker.
No Rust, no Node.js, no cargo build, no npm install.
Cold start: ~30 seconds on a fast connection (image layers cache after first pull).


Copy and paste this into any terminal that has Docker:

Terminal window
curl -fsSL https://raw.githubusercontent.com/raphaelmansuy/edgequake/edgequake-main/docker-compose.quickstart.yml \
| docker compose -f - up -d

That’s it. Three versioned images (API, Web UI, PostgreSQL) are pulled from GitHub Container Registry and started.

Then open: http://localhost:3000


Option A — Pure docker compose (download file first)

Section titled “Option A — Pure docker compose (download file first)”
Terminal window
# 1. Download the compose file
curl -fsSL https://raw.githubusercontent.com/raphaelmansuy/edgequake/edgequake-main/docker-compose.quickstart.yml \
-o docker-compose.quickstart.yml
# 2. Start the full stack
docker compose -f docker-compose.quickstart.yml up -d
# 3. Check health
curl http://localhost:8080/health

Terminal window
git clone https://github.com/raphaelmansuy/edgequake.git
cd edgequake
make stack

Option C — Pinned version (production-stable)

Section titled “Option C — Pinned version (production-stable)”
Terminal window
# Download a specific version's compose file
EDGEQUAKE_VERSION=0.10.3
curl -fsSL "https://raw.githubusercontent.com/raphaelmansuy/edgequake/edgequake-main/docker-compose.quickstart.yml" \
-o docker-compose.quickstart.yml
# Start with that version
EDGEQUAKE_VERSION=${EDGEQUAKE_VERSION} docker compose -f docker-compose.quickstart.yml up -d

ServiceURLDescription
🌐 Web UIhttp://localhost:3000Upload documents, explore knowledge graph
🔗 REST APIhttp://localhost:8080Programmatic access
📚 Swagger UIhttp://localhost:8080/swagger-uiInteractive API explorer
🏥 Healthhttp://localhost:8080/healthJSON health status

Requires Ollama running on your machine:

Terminal window
# Install and run Ollama (once)
curl -fsSL https://ollama.ai/install.sh | sh
ollama serve &
ollama pull gemma3:latest
# Start EdgeQuake
docker compose -f docker-compose.quickstart.yml up -d
Terminal window
EDGEQUAKE_LLM_PROVIDER=openai \
OPENAI_API_KEY=sk-... \
docker compose -f docker-compose.quickstart.yml up -d

Any OpenAI-compatible endpoint (LM Studio, vLLM, Azure, etc.)

Section titled “Any OpenAI-compatible endpoint (LM Studio, vLLM, Azure, etc.)”
Terminal window
EDGEQUAKE_LLM_PROVIDER=openai \
OPENAI_API_KEY=your-key \
OPENAI_BASE_URL=http://localhost:1234/v1 \
docker compose -f docker-compose.quickstart.yml up -d
VariableDefaultDescription
EDGEQUAKE_LLM_PROVIDERollamaollama, openai, lmstudio, mock
EDGEQUAKE_LLM_MODELprovider-specific defaultMain chat / extraction model
EDGEQUAKE_EMBEDDING_PROVIDERsame as LLMOverride embedding provider
EDGEQUAKE_EMBEDDING_MODELprovider-specific defaultEmbedding model override
OPENAI_API_KEY(empty)Required when provider is openai
OPENAI_BASE_URL(empty)Override OpenAI base URL
OLLAMA_HOSThttp://host.docker.internal:11434Ollama server address
EDGEQUAKE_VERSIONlatestPin to a specific release tag
EDGEQUAKE_PORT8080API port
FRONTEND_PORT3000Web UI port
POSTGRES_PASSWORDedgequake_secretPostgreSQL password

If you are migrating from a LightRAG-style environment file, EdgeQuake also accepts:

AliasCanonical variable
MODEL_PROVIDEREDGEQUAKE_LLM_PROVIDER
CHAT_MODELEDGEQUAKE_LLM_MODEL
EMBEDDING_PROVIDEREDGEQUAKE_EMBEDDING_PROVIDER
EMBEDDING_MODELEDGEQUAKE_EMBEDDING_MODEL
EMBEDDING_DIMENSIONEDGEQUAKE_EMBEDDING_DIMENSION

Canonical EDGEQUAKE_* variables always win when both are set.


Terminal window
# Stop and remove containers (data persists in the edgequake-pg-data volume)
docker compose -f docker-compose.quickstart.yml down
# Stop and remove containers + data
docker compose -f docker-compose.quickstart.yml down -v
# Tail all logs
docker compose -f docker-compose.quickstart.yml logs -f
# Check container status
docker compose -f docker-compose.quickstart.yml ps
# Pull latest images (then restart)
docker compose -f docker-compose.quickstart.yml pull
docker compose -f docker-compose.quickstart.yml up -d
# Restart a single service
docker compose -f docker-compose.quickstart.yml restart api

All images are multi-arch (linux/amd64, linux/arm64) and published to GitHub Container Registry on every tagged release.

ImageTagDescription
ghcr.io/raphaelmansuy/edgequakelatest / 0.10.3Rust API server
ghcr.io/raphaelmansuy/edgequake-frontendlatest / 0.10.3Next.js Web UI
ghcr.io/raphaelmansuy/edgequake-postgreslatest / 0.10.3PostgreSQL + pgvector + Apache AGE

Pull an image manually:

Terminal window
docker pull ghcr.io/raphaelmansuy/edgequake:latest
docker pull ghcr.io/raphaelmansuy/edgequake-frontend:latest
docker pull ghcr.io/raphaelmansuy/edgequake-postgres:latest

Terminal window
# Check logs
docker compose -f docker-compose.quickstart.yml logs api
# Common cause: Ollama not running
curl http://localhost:11434/api/tags # should return model list
ollama serve & # start if not running
Terminal window
# Change ports
EDGEQUAKE_PORT=8081 FRONTEND_PORT=3001 \
docker compose -f docker-compose.quickstart.yml up -d
Terminal window
docker compose -f docker-compose.quickstart.yml down -v
docker compose -f docker-compose.quickstart.yml up -d

Images include native linux/arm64 layers — no QEMU emulation needed. Docker Desktop on macOS auto-selects the right architecture.