Skip to content

Services & Packages

PrivateAIM Hub is composed of five backend services, a frontend, and shared libraries. Each service area groups the runnable application with its related packages.

Service Areas

AreaServicePackages
CoreMain REST APIcore-kit, core-http-kit, core-realtime-kit
WorkerBackground Docker executionserver-core-worker-kit
StorageFile/object storage (MinIO)storage-kit, server-storage-kit
TelemetryLog aggregation (VictoriaLogs)telemetry-kit, server-telemetry-kit
MessengerReal-time messaging (Socket.io)messenger-kit, server-realtime-kit
FrontendNuxt 4 web applicationclient-vue

Shared Packages

Foundation libraries used across all services:

PackageDescription
@privateaim/kitCore utilities: crypto, domain events, permissions
@privateaim/server-kitLogging, auth, AMQP, Redis, DI modules
@privateaim/server-db-kitTypeORM utilities, data source setup
@privateaim/server-http-kitHTTP middleware, request helpers, Swagger

Shared Configuration

All backend services inherit a common set of environment variables:

VariableDefaultDescription
NODE_ENVdevelopmentEnvironment: development, production, test
PORT3000HTTP server port
REALMmasterDefault Authup realm
CLIENT_IDsystemAuthup client ID
CLIENT_SECRETstart123Authup client secret
PUBLIC_URLPublic URL of this service
AUTHUP_URLAuthup identity provider URL
REDIS_CONNECTION_STRINGRedis connection string
RABBITMQ_CONNECTION_STRINGRabbitMQ (AMQP) connection string

Database Configuration

Services with a database (server-core, server-storage, server-telemetry) also read:

VariableDescription
DB_TYPEmysql, postgres, or better-sqlite3
DB_HOSTDatabase hostname
DB_PORTDatabase port
DB_USERNAMEDatabase username
DB_PASSWORDDatabase password
DB_DATABASEDatabase name (or :memory: for SQLite)

Docker

All services are packaged in a single Docker image. The entrypoint.sh script selects the service:

bash
docker run privateaim/hub core cli start
docker run privateaim/hub storage cli start
docker run privateaim/hub telemetry cli start
docker run privateaim/hub messenger cli start
docker run privateaim/hub core-worker
docker run privateaim/hub ui

See Docker Image for build instructions.

Released under the Apache-2.0 License.