Docker Installation
Run Arc in Docker: pull the image, mount a data volume, capture the first-run admin token, point it at local, S3, MinIO, or Azure storage, and deploy with Docker Compose.
Install and run Arc using Docker for quick setup and isolated environments.
Prerequisites
- Docker 20.10 or higher
- 4GB RAM minimum, 8GB+ recommended
Quick start
docker run -d \
--name arc \
-p 8000:8000 \
-v arc-data:/app/data \
ghcr.io/basekick-labs/arc:latestVerify it's running:
curl http://localhost:8000/healthGet your admin token
When Arc starts for the first time, it generates an admin token.
Save This Token
Copy this token immediately - you won't see it again!
docker logs arc 2>&1 | grep -i "admin"You should see:
======================================================================
FIRST RUN - INITIAL ADMIN TOKEN GENERATED
======================================================================
Initial admin API token: arc_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
======================================================================Save it:
export ARC_TOKEN="arc_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Storage backends
Local Filesystem - Default, data stored in Docker volume.
docker run -d \
--name arc \
-p 8000:8000 \
-e ARC_STORAGE_BACKEND=local \
-v arc-data:/app/data \
ghcr.io/basekick-labs/arc:latestData locations:
| Path | Description |
|---|---|
/app/data/arc/ | Parquet files |
/app/data/arc_auth.db | Auth tokens |
Configuration
Environment variables
Common configuration options:
| Variable | Default | Description |
|---|---|---|
ARC_SERVER_PORT | 8000 | HTTP port |
ARC_STORAGE_BACKEND | local | Storage: local, s3, minio, azure |
ARC_LOG_LEVEL | info | Logging: debug, info, warn, error |
ARC_AUTH_ENABLED | true | Enable authentication |
ARC_AUTH_BOOTSTRAP_TOKEN | (unset) | Pre-set admin token value on first run (v26.04.1+) |
ARC_AUTH_FORCE_BOOTSTRAP | false | Add a recovery admin token without removing existing ones (v26.04.1+) |
ARC_COMPACTION_ENABLED | true | Enable auto-compaction |
ARC_WAL_ENABLED | false | Enable WAL for durability |
Custom configuration file
Mount a custom arc.toml:
docker run -d \
--name arc \
-p 8000:8000 \
-v arc-data:/app/data \
-v /path/to/arc.toml:/app/arc.toml \
ghcr.io/basekick-labs/arc:latestContainer management
View logs
docker logs -f arc # Follow logs
docker logs --tail=100 arc # Last 100 linesStart/stop/restart
docker start arc
docker stop arc
docker restart arcUpdate Arc
docker stop arc && docker rm arc
docker pull ghcr.io/basekick-labs/arc:latest
docker run -d \
--name arc \
-p 8000:8000 \
-v arc-data:/app/data \
ghcr.io/basekick-labs/arc:latestProduction deployment
Pin version + resource limits
docker run -d \
--name arc \
-p 8000:8000 \
-v arc-data:/app/data \
--memory="8g" \
--cpus="4" \
--restart unless-stopped \
ghcr.io/basekick-labs/arc:latestHealth check
docker ps --filter "name=arc" --filter "health=healthy"Docker Compose
version: '3.8'
services:
arc:
image: ghcr.io/basekick-labs/arc:latest
container_name: arc
ports:
- "8000:8000"
environment:
- ARC_STORAGE_BACKEND=local
- ARC_AUTH_ENABLED=true
- ARC_COMPACTION_ENABLED=true
volumes:
- arc-data:/app/data
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
arc-data:Troubleshooting
Container won't start
# Check logs
docker logs arc
# Check port availability
sudo lsof -i :8000
# Check container status
docker ps -aPermission errors
# Remove and recreate volume
docker stop arc && docker rm arc
docker volume rm arc-data
# Restart with docker run commandOut of memory
# Check memory usage
docker stats arc
# Restart with memory limit
docker run -d --name arc --memory="4g" ...Can't find admin token
docker logs arc 2>&1 | grep -i "admin"
docker logs arc | head -100