Skip to content

Installation

This guide covers all methods for installing runqy server and worker.

The fastest way to get started is using the install script.

curl -fsSL https://raw.githubusercontent.com/publikey/runqy/main/install.sh | sh
iwr https://raw.githubusercontent.com/publikey/runqy/main/install.ps1 -useb | iex
curl -fsSL https://raw.githubusercontent.com/publikey/runqy-worker/main/install.sh | sh
iwr https://raw.githubusercontent.com/publikey/runqy-worker/main/install.ps1 -useb | iex

Verify installation

After installation, verify with:

runqy --version
runqy-worker --version

Docker Compose Quickstart

The fastest way to run the full stack without cloning the repo:

# Download the quickstart compose file
curl -O https://raw.githubusercontent.com/Publikey/runqy/main/docker-compose.quickstart.yml

# Start all services
docker-compose -f docker-compose.quickstart.yml up -d

# View logs
docker-compose -f docker-compose.quickstart.yml logs -f

Docker Compose (Full Repo)

For a complete local environment with source code access:

# Clone the monorepo
git clone https://github.com/publikey/runqy.git
cd runqy

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f

This starts:

Service Port Description
runqy-server 3000 API server and dashboard
runqy-worker - Task processor
redis 6379 Task queue backend
postgres 5432 Configuration storage

Access the dashboard at http://localhost:3000/monitoring/.

Docker Images

Pre-built images are available on GitHub Container Registry:

# Server
docker pull ghcr.io/publikey/runqy:latest

# Worker (minimal - Alpine-based)
docker pull ghcr.io/publikey/runqy-worker:latest

# Worker (inference - PyTorch + CUDA)
docker pull ghcr.io/publikey/runqy-worker:inference

Server Image

docker run -d \
  -p 3000:3000 \
  -e REDIS_HOST=your-redis-host \
  -e REDIS_PASSWORD=your-redis-password \
  -e RUNQY_API_KEY=your-api-key \
  ghcr.io/publikey/runqy:latest serve --sqlite

Worker Images

Minimal (default) — Lightweight Alpine-based image. You install your own runtime.

  • Image: ghcr.io/publikey/runqy-worker:latest or :minimal
  • Base: Alpine 3.19 with git, curl, ca-certificates
  • Platforms: linux/amd64, linux/arm64
docker run -v $(pwd)/config.yml:/app/config.yml ghcr.io/publikey/runqy-worker:latest

Inference — Pre-configured for ML workloads with PyTorch and CUDA.

  • Image: ghcr.io/publikey/runqy-worker:inference
  • Base: PyTorch 2.1.0 + CUDA 11.8
  • Platform: linux/amd64 only
  • Includes: Python 3, pip, PyTorch, CUDA runtime
docker run --gpus all -v $(pwd)/config.yml:/app/config.yml ghcr.io/publikey/runqy-worker:inference

Worker Image Tags

Tag Description
latest, minimal Minimal Alpine image (multi-arch)
inference PyTorch + CUDA image (amd64 only)
<version> Specific version, minimal base
<version>-minimal Specific version, minimal base
<version>-inference Specific version, inference base

Manual Binary Download

Download pre-built binaries from GitHub Releases:

Linux (amd64)

# Server
curl -LO https://github.com/publikey/runqy/releases/latest/download/runqy_latest_linux_amd64.tar.gz
tar xzf runqy_latest_linux_amd64.tar.gz
sudo mv runqy /usr/local/bin/

# Worker
curl -LO https://github.com/publikey/runqy-worker/releases/latest/download/runqy-worker_latest_linux_amd64.tar.gz
tar xzf runqy-worker_latest_linux_amd64.tar.gz
sudo mv runqy-worker /usr/local/bin/

macOS (Apple Silicon)

# Server
curl -LO https://github.com/publikey/runqy/releases/latest/download/runqy_latest_darwin_arm64.tar.gz
tar xzf runqy_latest_darwin_arm64.tar.gz
sudo mv runqy /usr/local/bin/

# Worker
curl -LO https://github.com/publikey/runqy-worker/releases/latest/download/runqy-worker_latest_darwin_arm64.tar.gz
tar xzf runqy-worker_latest_darwin_arm64.tar.gz
sudo mv runqy-worker /usr/local/bin/

Windows (amd64)

# Server
Invoke-WebRequest -Uri https://github.com/publikey/runqy/releases/latest/download/runqy_latest_windows_amd64.zip -OutFile runqy.zip
Expand-Archive runqy.zip -DestinationPath .

# Worker
Invoke-WebRequest -Uri https://github.com/publikey/runqy-worker/releases/latest/download/runqy-worker_latest_windows_amd64.zip -OutFile runqy-worker.zip
Expand-Archive runqy-worker.zip -DestinationPath .

Add the extracted directory to your system PATH.

Available Archives

Server (runqy):

  • runqy_<version>_linux_amd64.tar.gz
  • runqy_<version>_linux_arm64.tar.gz
  • runqy_<version>_darwin_amd64.tar.gz
  • runqy_<version>_darwin_arm64.tar.gz
  • runqy_<version>_windows_amd64.zip
  • runqy_<version>_windows_arm64.zip

Worker (runqy-worker):

  • runqy-worker_<version>_linux_amd64.tar.gz
  • runqy-worker_<version>_linux_arm64.tar.gz
  • runqy-worker_<version>_darwin_amd64.tar.gz
  • runqy-worker_<version>_darwin_arm64.tar.gz
  • runqy-worker_<version>_windows_amd64.zip
  • runqy-worker_<version>_windows_arm64.zip

From Source

Build from source if you need the latest development version or want to modify the code.

Prerequisites

  • Go 1.24+
  • Git

Server

git clone https://github.com/publikey/runqy.git
cd runqy/app
go build -o runqy .

# Optional: Install to PATH
sudo mv runqy /usr/local/bin/

Worker

git clone https://github.com/publikey/runqy-worker.git
cd runqy-worker
go build -o runqy-worker ./cmd/worker

# Optional: Install to PATH
sudo mv runqy-worker /usr/local/bin/

Build with Version Info

# Server
go build -ldflags "-X main.Version=1.0.0 -X main.Commit=$(git rev-parse HEAD)" -o runqy .

# Worker
go build -ldflags "-X main.Version=1.0.0 -X main.Commit=$(git rev-parse HEAD)" -o runqy-worker ./cmd/worker

Supported Platforms

Platform Architecture Server Worker
Linux amd64
Linux arm64
macOS amd64
macOS arm64 (Apple Silicon)
Windows amd64
Windows arm64

Environment Variables

After installation, configure these environment variables before starting the server:

Variable Required Description
REDIS_HOST Yes Redis hostname
REDIS_PORT No Redis port (default: 6379)
REDIS_PASSWORD Yes Redis password (can be empty)
REDIS_TLS No Enable TLS for Redis (default: false)
RUNQY_API_KEY Yes API key for authentication
DATABASE_HOST No PostgreSQL host (default: localhost, use --sqlite for dev)
DATABASE_PORT No PostgreSQL port (default: 5432)
DATABASE_USER No PostgreSQL username (default: postgres)
DATABASE_PASSWORD No PostgreSQL password
DATABASE_DBNAME No PostgreSQL database name (default: sdxl_queuing_dev)
DATABASE_SSL No PostgreSQL SSL mode (default: disable)

See Configuration for the full reference.

Next Steps

Once installed:

  1. Quick Start — Run through the complete setup tutorial
  2. CLI Reference — Learn the available commands
  3. Python SDK — Write your first task handler