Skip to main content

Overview

Oxy requires a Docker API-compatible endpoint to manage PostgreSQL, ClickHouse, and other containerized services. This means any container runtime that exposes a Docker-compatible API socket.
Important: Oxy communicates via the Docker API (typically through a Unix socket or TCP endpoint). You can use:
  • Docker Engine (dockerd) - standalone or via Docker Desktop
  • Podman with Docker socket emulation enabled
  • Any runtime that provides a Docker-compatible API socket
Note: containerd alone does not expose a Docker API. If using containerd-based runtimes (like Rancher Desktop), select the dockerd (moby) engine option to get Docker API compatibility.

Key Takeaway

TL;DR: Oxy needs a Docker API-compatible socket endpoint, not a specific application.You can use:
  • Docker Engine installed directly (no GUI)
  • Docker Desktop, Rancher Desktop (with dockerd/moby), Colima, OrbStack, etc. (with GUI)
  • Podman with Docker socket emulation
Oxy doesn’t care which one you choose - they all work the same way once installed, as long as they expose a Docker-compatible API socket.

What Oxy Actually Needs

Container Runtime

Docker Engine (dockerd) or any Docker API-compatible runtimeThis is the actual runtime that manages containers

Docker-Compatible API Socket

A Docker API endpoint at:
  • unix:///var/run/docker.sock (default on Linux/macOS)
  • npipe:////./pipe/docker_engine (Windows)
  • Custom location via DOCKER_HOST env var
This is how Oxy communicates with the runtime
The applications listed below (Docker Desktop, Rancher Desktop, etc.) are just convenient ways to install and manage the underlying container engine. You can also install Docker Engine directly without any desktop application - see the “Docker Engine (Standalone)” tab.

Installation Options

You can install a Docker-compatible container engine in several ways:

Installation & Setup

Install Docker Engine Only (No Desktop App)

This installs just the Docker Engine (dockerd) without any GUI application. Perfect for servers or if you prefer a lightweight setup.
1

Linux Installation

Follow the official Docker Engine installation for your distribution:Ubuntu/Debian:
# Add Docker's official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Install Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Fedora/RHEL/CentOS:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
2

macOS (via Homebrew)

# Install Docker Engine without Docker Desktop
brew install docker docker-compose

# You'll also need a VM to run Linux containers (use Colima)
brew install colima
colima start
3

Enable Docker Service (Linux)

sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp docker
4

Verify Installation

docker ps
oxy start
This is the most lightweight option and recommended for servers and CI/CD environments.

Custom Docker Host

For non-standard socket locations or remote Docker hosts, set the DOCKER_HOST environment variable before running Oxy. This is the standard Docker environment variable that Oxy (and the Docker CLI) automatically respects.

Setting DOCKER_HOST

# Unix socket (Colima example)
export DOCKER_HOST=unix://$HOME/.colima/default/docker.sock
oxy start

# TCP connection (remote Docker)
export DOCKER_HOST=tcp://localhost:2375
oxy start
You can add this to your shell profile (~/.bashrc, ~/.zshrc, etc.) to make it permanent.

Common Socket Locations

RuntimeDefault Socket Location
Docker Desktopunix:///var/run/docker.sock (macOS/Linux)
npipe:////./pipe/docker_engine (Windows)
Rancher Desktopunix://$HOME/.rd/docker.sock (macOS)
unix:///var/run/docker.sock (Linux)
Colimaunix://$HOME/.colima/default/docker.sock
Podmanunix://$XDG_RUNTIME_DIR/podman/podman.sock
OrbStackunix://$HOME/.orbstack/run/docker.sock

Troubleshooting

Check if runtime is running:
docker ps
Common solutions:
  1. Start your container runtime application
  2. Wait 30-60 seconds for full initialization
  3. Verify Docker CLI works: docker ps
  4. Check DOCKER_HOST environment variable:
    echo $DOCKER_HOST
    
  1. Open Rancher Desktop preferences
  2. Switch Container Engine to dockerd (moby)
  3. Restart Rancher Desktop
  4. Wait for full initialization (30-60 seconds)
  5. Retry: oxy start
# Check Colima status
colima status

# Start if not running
colima start

# Verify socket exists
ls -la ~/.colima/default/docker.sock

# Set DOCKER_HOST if using non-default socket
export DOCKER_HOST=unix://$HOME/.colima/default/docker.sock
oxy start
Enable Docker socket compatibility:Linux:
sudo systemctl enable podman.socket
sudo systemctl start podman.socket
For Podman Desktop, enable Docker compatibility in settings.
Add your user to the docker group:
sudo usermod -aG docker $USER
newgrp docker
Then verify:
docker ps

Enterprise Mode Containers

When using the --enterprise flag, Oxy starts additional containers:

PostgreSQL

Main databasePort: 15432

ClickHouse

Analytics databasePorts: 8123 (HTTP), 9000 (Native)

OpenTelemetry Collector

Observability pipelinePorts: 4317 (gRPC), 4318 (HTTP)

Cube.js

Semantic layerPort: 4000
All container runtimes support these services with identical port mappings.

Performance Considerations

macOS Performance Comparison

Different runtimes have varying performance characteristics on macOS:

OrbStack

Fastest - Lowest resource usage, native performance

Colima

Fast - Good performance, lightweight footprint

Docker Desktop

Good - Excellent compatibility, higher resource usage

Rancher Desktop

Good - Rich features, moderate resource usage
On Linux, all runtimes perform similarly as they use native kernel features.
On Windows, Docker Desktop offers the best support and performance with WSL2 integration.

Clean Start

Remove all Oxy containers and volumes for a fresh start:
oxy start --clean
This removes across all container runtimes:
  • All Oxy-managed containers
  • Associated volumes
  • Container networks (enterprise mode)

Additional Resources