Docker Deployment

Run QNSP services with Docker for development and testing.

Docker Deployment

Run QNSP services with Docker for development and testing.

Service Ports

From apps/*/src/config/env.ts:

Service Default Port
edge-gateway 8107
auth-service 8081
platform-api 8080
vault-service 8090
storage-service 8092
kms-service 8095
audit-service 8103
observability-service 8105
crypto-inventory-service 8115

Docker Compose

services:
  postgres:
    image: postgres:18
    container_name: qnsp-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: qnsp
      POSTGRES_PASSWORD: qnsp-password
    ports:
      - "5432:5432"
    volumes:
      - qnsp-postgres-data:/var/lib/postgresql
    networks:
      - qnsp-net

  redis:
    image: redis:7
    container_name: qnsp-redis
    restart: unless-stopped
    command: redis-server --save 60 1 --loglevel warning
    ports:
      - "6379:6379"
    volumes:
      - qnsp-redis-data:/data
    networks:
      - qnsp-net

  clamav:
    image: clamav/clamav:1.5.1
    container_name: qnsp-clamav
    platform: linux/amd64
    restart: unless-stopped
    ports:
      - "3310:3310"
    networks:
      - qnsp-net

volumes:
  qnsp-postgres-data:
    external: true
  qnsp-redis-data:
    external: true

networks:
  qnsp-net:
    external: true

Running

# Start infra dependencies
docker compose up -d

# View logs
docker compose logs -f

# Stop infra dependencies
docker compose down

Starting services

The docker compose file provides infra (Postgres, Redis, ClamAV). Start the Node services from the repo root:

node scripts/dev/start-backend-cluster.mjs

Limitations

Docker deployment is for:

  • Development
  • Testing
  • Demos

Not for production use.

Production requires:

  • Kubernetes deployment
  • HSM integration
  • High availability