Skip to main content

Docker

The fastest way to run ONQL anywhere.

Pull and run

docker pull onql/onql:latest
docker run -d \
--name onql \
-p 5656:5656 \
-v $(pwd)/data:/data \
onql/onql:latest
FlagPurpose
-p 5656:5656Expose the TCP port
-v $(pwd)/data:/dataPersistent storage on the host
-dRun detached

docker-compose

version: "3.9"
services:
onql:
image: onql/onql:latest
container_name: onql
restart: unless-stopped
ports:
- "5656:5656"
volumes:
- ./data:/data
environment:
LOG_LEVEL: INFO
FLUSH_INTERVAL: 500ms
docker compose up -d

Build your own image

FROM golang:1.22-alpine AS build
WORKDIR /src
COPY . .
RUN go build -o onql ./cmd/server

FROM alpine:3
COPY --from=build /src/onql /usr/local/bin/onql
EXPOSE 5656
VOLUME ["/data"]
ENV DB_PATH=/data
ENTRYPOINT ["onql"]
docker build -t my-onql .
docker run -p 5656:5656 -v $(pwd)/data:/data my-onql

Health check

docker exec onql nc -z localhost 5656 && echo "ok"