Sign inSign up

autobitdevs/onql-stack:latest

Manifest digest

sha256:432f91cfa5aff7371aae715e8e63f02b12320fc3cee8d7c58f563557ed73d8bb

Last pushed

10 months by autobitdevs

Type

Compose

Manifest digest

sha256:432f91cfa5aff7371aae715e8e63f02b12320fc3cee8d7c58f563557ed73d8bb

Compose file content

# stack.yaml  (Compose v2: no top-level version key)

x-onql-env: &onql_env
  NATS_URL: ${NATS_URL:-nats://nats:4222}
  ONQL_LOG_LEVEL: ${ONQL_LOG_LEVEL:-info}

x-resources: &resources
  ulimits:
    nofile: { soft: 200000, hard: 200000 }
  sysctls:
    net.core.somaxconn: 65535

networks:
  appnet: { driver: bridge }

services:
  nats:
    image: nats:2.10-alpine
    command: ["-js","-m","8222","-sd","/data"]
    networks: [appnet]
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8222/varz"]
      interval: 5s
      timeout: 3s
      retries: 20
    volumes:
      - nats_data:/data
    <<: *resources

  onql:
    image: autobitdevs/onql:1.3.0
    user: "0:0"   # runs as root user
    environment: *onql_env
    depends_on:
      nats:
        condition: service_healthy
    ports:
      - "${ONQL_PORT:-5656}:5656"
    networks: [appnet]
    restart: unless-stopped
    # Host bind mount for ONQL data:
    # volumes:
    #   - type: bind
    #     source: ${ONQL_HOST_DIR:-/srv/onql_a/store}
    #     target: /app/store
    #     read_only: false
        # For SELinux systems, uncomment:
        # bind:
        #   selinux: z
    # ✅ Named volume instead of host bind mount
    volumes:
      - onql_data:/app/store        

    labels:
      com.centurylinklabs.watchtower.enable: "${WATCHTOWER_ENABLE:-false}"
    <<: *resources

  # Optional extensions (enable with COMPOSE_PROFILES=ext)
  schema:
    image: autobitdevs/onql-schema:1.3.0
    environment: *onql_env
    depends_on:
      nats:
        condition: service_healthy
    networks: [appnet]
    restart: unless-stopped
    profiles: ["ext"]

  protocol:
    image: autobitdevs/onql-protocol:1.3.0
    environment: *onql_env
    depends_on:
      nats:
        condition: service_healthy
    networks: [appnet]
    restart: unless-stopped
    profiles: ["ext"]

volumes:
  # NATS state (named volume)
  nats_data: {}
  onql_data: {}     # ✅ Added this line for named volume
services:
  nats:
    image: docker.io/library/nats:2.10-alpine@sha256:ebfd4665761af84d1d38b6745568389c6be30c1aa2309bd53ddbaecfc45212e8
  onql:
    image: docker.io/autobitdevs/onql:1.3.0@sha256:f77aa8751253eca68c7ef61fa364250e1391b40ee23f260dddf5297fe7f1b622
  protocol:
    image: docker.io/autobitdevs/onql-protocol:1.3.0@sha256:0ec9a714151d3c9a1483fc32a0794ffee2fec5489003e72f5826de15a95f36b8
  schema:
    image: docker.io/autobitdevs/onql-schema:1.3.0@sha256:d529b574ecfbaa0eef74cd7c25d1ac22ff897ba9748498a4c24b90b7d1fe3396

Docker commands

docker compose -f oci://autobitdevs/onql-stack:latest up

Use the above command to pull and run the Compose file. Learn more.

Images used

Image + 1 more

NATS is an open-source, high-performance, cloud native messaging system.


Pulls

100M+

Stars

522

Last Updated

3 days

Image


Pulls

748

Stars

0

Last Updated

7 months

Image


Pulls

728

Stars

0

Last Updated

7 months

Image


Pulls

634

Stars

0

Last Updated

7 months