- multistreaming (new): RTMP ingest + multi-platform fan-out with pluggable providers (Twitch/YouTube/Kick/custom), zero-knowledge key vaults, Authelia OIDC auth, shared rooms with editor/streamer roles, single-use invites, per-account streaming grants, and scenes & composition (grid/PiP layouts, text/image overlays, per-output audio routing). - installer: support Dockerfile build in metadata (not just image) and RSA key generation for the Authelia OIDC JWKS. - authelia: add OIDC provider with portainer + multistreaming clients (public + PKCE). - services: remove allprox; add nginx-proxy-manager and portainer; update lldap; regenerate catalog.
67 lines
1.3 KiB
TypeScript
67 lines
1.3 KiB
TypeScript
export interface EnvSpec {
|
|
name: string;
|
|
label?: string;
|
|
description?: string;
|
|
default?: string;
|
|
required?: boolean;
|
|
secret?: boolean;
|
|
options?: string[];
|
|
generate?: boolean;
|
|
}
|
|
|
|
/** An RSA private key the installer generates into a file on first install (used for Authelia OIDC signing). */
|
|
export interface RsaKeySpec {
|
|
name: string;
|
|
path: string;
|
|
bits?: number;
|
|
}
|
|
|
|
export interface ServiceMetadata {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
version: string;
|
|
category?: string;
|
|
tags?: string[];
|
|
icon?: string;
|
|
author?: string;
|
|
license?: string;
|
|
homepage?: string;
|
|
documentation?: string;
|
|
compose: Record<string, unknown>;
|
|
volumes?: Record<string, unknown>;
|
|
networks?: Record<string, unknown>;
|
|
env?: EnvSpec[];
|
|
rsaKeys?: RsaKeySpec[];
|
|
dependsOn?: string[];
|
|
notes?: string;
|
|
}
|
|
|
|
export interface InstalledService {
|
|
id: string;
|
|
name: string;
|
|
version: string;
|
|
installedAt: string;
|
|
updatedAt: string;
|
|
}
|
|
|
|
export interface State {
|
|
version: number;
|
|
services: Record<string, InstalledService>;
|
|
}
|
|
|
|
export interface CatalogEntry {
|
|
id: string;
|
|
version: string;
|
|
path: string;
|
|
}
|
|
|
|
export interface Catalog {
|
|
generatedAt?: string;
|
|
services: CatalogEntry[];
|
|
}
|
|
|
|
export interface ActionResult {
|
|
ok: boolean;
|
|
message: string;
|
|
}
|