Skip to content

Services & Packages ​

FLAME 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_URL—Public URL of this service
AUTHUP_URL—Authup identity provider URL
REDIS_CONNECTION_STRING—Redis connection string
RABBITMQ_CONNECTION_STRING—RabbitMQ (AMQP) connection string
COOKIE_PREFIX—Namespace prefixed onto the access_token cookie the authup middleware falls back to when a request carries no Authorization header (e.g. a bucket/file stream download). Must match the COOKIE_PREFIX client-ui was deployed with — see Frontend Variables.

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.