forked from mirrors/firefish
143 lines
2.5 KiB
TypeScript
143 lines
2.5 KiB
TypeScript
/**
|
|
* ユーザーが設定する必要のある情報
|
|
*/
|
|
export type Source = {
|
|
repository_url?: string;
|
|
feedback_url?: string;
|
|
url: string;
|
|
port: number;
|
|
disableHsts?: boolean;
|
|
db: {
|
|
host: string;
|
|
port: number;
|
|
db: string;
|
|
user: string;
|
|
pass: string;
|
|
disableCache?: boolean;
|
|
extra?: { [x: string]: string };
|
|
};
|
|
redis: {
|
|
host: string;
|
|
port: number;
|
|
family?: number;
|
|
pass: string;
|
|
db?: number;
|
|
prefix?: string;
|
|
};
|
|
elasticsearch: {
|
|
host: string;
|
|
port: number;
|
|
ssl?: boolean;
|
|
user?: string;
|
|
pass?: string;
|
|
index?: string;
|
|
};
|
|
sonic: {
|
|
host: string;
|
|
port: number;
|
|
auth?: string;
|
|
collection?: string;
|
|
bucket?: string;
|
|
};
|
|
|
|
proxy?: string;
|
|
proxySmtp?: string;
|
|
proxyBypassHosts?: string[];
|
|
|
|
allowedPrivateNetworks?: string[];
|
|
|
|
maxFileSize?: number;
|
|
|
|
accesslog?: string;
|
|
|
|
clusterLimit?: number;
|
|
|
|
onlyQueueProcessor?: boolean;
|
|
|
|
id: string;
|
|
|
|
outgoingAddressFamily?: "ipv4" | "ipv6" | "dual";
|
|
|
|
deliverJobConcurrency?: number;
|
|
inboxJobConcurrency?: number;
|
|
deliverJobPerSec?: number;
|
|
inboxJobPerSec?: number;
|
|
deliverJobMaxAttempts?: number;
|
|
inboxJobMaxAttempts?: number;
|
|
|
|
syslog: {
|
|
host: string;
|
|
port: number;
|
|
};
|
|
|
|
mediaProxy?: string;
|
|
proxyRemoteFiles?: boolean;
|
|
|
|
twa: {
|
|
nameSpace?: string;
|
|
packageName?: string;
|
|
sha256CertFingerprints?: string[];
|
|
};
|
|
|
|
reservedUsernames?: string[];
|
|
|
|
// Managed hosting stuff
|
|
maxUserSignups?: number;
|
|
isManagedHosting?: boolean;
|
|
maxNoteLength?: number;
|
|
maxCaptionLength?: number;
|
|
deepl: {
|
|
managed?: boolean;
|
|
authKey?: string;
|
|
isPro?: boolean;
|
|
};
|
|
libreTranslate: {
|
|
managed?: boolean;
|
|
apiUrl?: string;
|
|
apiKey?: string;
|
|
};
|
|
email: {
|
|
managed?: boolean;
|
|
address?: string;
|
|
host?: string;
|
|
port?: number;
|
|
user?: string;
|
|
pass?: string;
|
|
useImplicitSslTls?: boolean;
|
|
};
|
|
objectStorage: {
|
|
managed?: boolean;
|
|
baseUrl?: string;
|
|
bucket?: string;
|
|
prefix?: string;
|
|
endpoint?: string;
|
|
region?: string;
|
|
accessKey?: string;
|
|
secretKey?: string;
|
|
useSsl?: boolean;
|
|
connnectOverProxy?: boolean;
|
|
setPublicReadOnUpload?: boolean;
|
|
s3ForcePathStyle?: boolean;
|
|
};
|
|
summalyProxyUrl?: string;
|
|
};
|
|
|
|
/**
|
|
* Misskeyが自動的に(ユーザーが設定した情報から推論して)設定する情報
|
|
*/
|
|
export type Mixin = {
|
|
version: string;
|
|
host: string;
|
|
hostname: string;
|
|
scheme: string;
|
|
wsScheme: string;
|
|
apiUrl: string;
|
|
wsUrl: string;
|
|
authUrl: string;
|
|
driveUrl: string;
|
|
userAgent: string;
|
|
clientEntry: string;
|
|
};
|
|
|
|
export type Config = Source & Mixin;
|