oxy start command is the recommended way to run Oxy with a production-ready PostgreSQL database. It automatically manages a PostgreSQL container using a Docker-compatible container runtime and starts the Oxy web server.
Prerequisites
Container Runtime Required:
oxy start needs a Docker API-compatible container runtime (e.g., Docker Engine, Podman with Docker socket).You can use:- Docker Engine (standalone, no GUI needed)
- Docker Desktop, Rancher Desktop, Colima, OrbStack, or Podman
- Any runtime that provides a Docker API
Overview
oxy start simplifies database setup by:
- Checking container runtime availability - Verifies Docker API is accessible
- Starting PostgreSQL in a container (or using existing one)
- Waiting for PostgreSQL to be ready
- Configuring the database connection automatically
- (Optional) Starting ClickHouse + OTel Collector with
--enterpriseflag
Quick Usage
Key Ports
| Service | Host Port |
|---|---|
| PostgreSQL (oxy-postgres) | 15432 |
| ClickHouse (oxy-clickhouse) HTTP / Native | 8123 / 9000 |
| OTel Collector (oxy-otel-collector) gRPC / HTTP | 4317 / 4318 |
| Cube.js Semantic Engine (oxy-cubejs) | 4000 |
Clean option
The--clean flag removes all existing Oxy-managed Docker resources before starting:
Standard mode (oxy start --clean):
- Removes
oxy-postgrescontainer - Removes
oxy-postgres-datavolume (⚠️ all data lost)
oxy start --clean --enterprise):
- Removes
oxy-postgres,oxy-clickhouse,oxy-otel-collectorcontainers - Removes
oxy-postgres-dataandoxy-clickhouse-datavolumes (⚠️ all data lost) - Removes the
oxy-enterprise-networkDocker network
- Troubleshooting database issues
- Resetting to a fresh state for development
- Clearing corrupted data
- Starting with a clean slate after schema changes
--clean option permanently deletes all data in the database volumes. Make sure you have backups of any important data before using this option.
Environment vars (enterprise)
OXY_CLICKHOUSE_URL=http://localhost:8123OXY_CLICKHOUSE_DATABASE=otelOTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
Minimal commands
- Check status:
oxy status - View logs:
docker logs -f oxy-postgres(andoxy-clickhouse,oxy-otel-collectorfor enterprise) - Stop containers:
docker stop oxy-postgres [oxy-clickhouse oxy-otel-collector] - Clean restart:
oxy start --clean(removes all containers and volumes)
Command-Line Options
Remove all existing Oxy-managed containers and volumes before starting.⚠️ Warning: This permanently deletes all database data.
Enable enterprise features including ClickHouse, OpenTelemetry Collector, and Cube.js semantic engine.
Important Notes
- Data persists in named volumes (
oxy-postgres-data,oxy-clickhouse-data) - Use
--cleanto remove existing containers and volumes for a fresh start (⚠️ data loss) - If a port is already in use, stop the conflicting service or configure external databases
Troubleshooting
Failed to connect to container runtime
Failed to connect to container runtime
Ensure your container runtime is installed and running:See the Container Runtime Guide for detailed setup instructions.
Port already in use
Port already in use
If PostgreSQL port 15432 is in use:
- Check what’s using the port:
lsof -i :15432 - Stop the conflicting service
- Or configure Oxy to use an external database instead
Containers start but database connection fails
Containers start but database connection fails
The container may still be initializing: