2019-02-07 13:02:33 +01:00
|
|
|
/**
|
|
|
|
* ユーザーが設定する必要のある情報
|
|
|
|
*/
|
|
|
|
export type Source = {
|
|
|
|
repository_url?: string;
|
|
|
|
feedback_url?: string;
|
|
|
|
url: string;
|
2023-08-01 21:23:32 +02:00
|
|
|
accountDomain?: string;
|
2019-02-07 13:02:33 +01:00
|
|
|
port: number;
|
|
|
|
disableHsts?: boolean;
|
2019-04-07 14:50:36 +02:00
|
|
|
db: {
|
2019-02-07 13:02:33 +01:00
|
|
|
host: string;
|
|
|
|
port: number;
|
|
|
|
db: string;
|
|
|
|
user: string;
|
|
|
|
pass: string;
|
2019-06-11 13:49:08 +02:00
|
|
|
disableCache?: boolean;
|
2019-05-23 20:26:56 +02:00
|
|
|
extra?: { [x: string]: string };
|
2019-02-07 13:02:33 +01:00
|
|
|
};
|
|
|
|
redis: {
|
|
|
|
host: string;
|
|
|
|
port: number;
|
2022-06-24 12:22:19 +02:00
|
|
|
family?: number;
|
2023-06-28 08:44:16 +02:00
|
|
|
pass?: string;
|
2019-03-09 15:44:54 +01:00
|
|
|
db?: number;
|
|
|
|
prefix?: string;
|
2023-06-27 00:02:54 +02:00
|
|
|
user?: string;
|
2023-06-28 08:44:16 +02:00
|
|
|
tls?: { [y: string]: string };
|
2019-02-07 13:02:33 +01:00
|
|
|
};
|
2023-05-25 00:55:33 +02:00
|
|
|
|
2023-08-01 23:02:11 +02:00
|
|
|
mediaCleanup?: {
|
|
|
|
cron?: boolean;
|
|
|
|
maxAgeDays?: number;
|
|
|
|
keepAvatars?: boolean;
|
|
|
|
keepHeaders?: boolean;
|
|
|
|
};
|
|
|
|
|
2023-08-31 01:09:20 +02:00
|
|
|
images?: {
|
|
|
|
error?: string;
|
|
|
|
notFound?: string;
|
|
|
|
info?: string;
|
|
|
|
};
|
|
|
|
|
2023-09-12 15:11:55 +02:00
|
|
|
searchEngine?: string;
|
|
|
|
|
2019-02-07 13:02:33 +01:00
|
|
|
proxy?: string;
|
2019-09-01 21:42:52 +02:00
|
|
|
proxySmtp?: string;
|
2020-04-12 13:32:34 +02:00
|
|
|
proxyBypassHosts?: string[];
|
2019-02-07 13:02:33 +01:00
|
|
|
|
2021-09-03 14:00:44 +02:00
|
|
|
allowedPrivateNetworks?: string[];
|
|
|
|
|
2021-09-04 13:33:14 +02:00
|
|
|
maxFileSize?: number;
|
|
|
|
|
2019-02-07 13:02:33 +01:00
|
|
|
accesslog?: string;
|
|
|
|
|
|
|
|
clusterLimit?: number;
|
2019-04-07 14:50:36 +02:00
|
|
|
|
2023-05-17 00:08:14 +02:00
|
|
|
onlyQueueProcessor?: boolean;
|
|
|
|
|
2023-05-29 02:24:48 +02:00
|
|
|
cuid?: {
|
|
|
|
length?: number;
|
|
|
|
fingerprint?: string;
|
|
|
|
};
|
2019-05-07 10:49:25 +02:00
|
|
|
|
2023-01-13 05:40:33 +01:00
|
|
|
outgoingAddressFamily?: "ipv4" | "ipv6" | "dual";
|
2019-08-26 22:33:24 +02:00
|
|
|
|
|
|
|
deliverJobConcurrency?: number;
|
|
|
|
inboxJobConcurrency?: number;
|
2020-01-20 06:14:09 +01:00
|
|
|
deliverJobPerSec?: number;
|
|
|
|
inboxJobPerSec?: number;
|
|
|
|
deliverJobMaxAttempts?: number;
|
|
|
|
inboxJobMaxAttempts?: number;
|
2019-08-30 01:29:46 +02:00
|
|
|
|
|
|
|
syslog: {
|
|
|
|
host: string;
|
|
|
|
port: number;
|
|
|
|
};
|
2019-12-19 17:54:28 +01:00
|
|
|
|
|
|
|
mediaProxy?: string;
|
2022-02-27 05:59:10 +01:00
|
|
|
proxyRemoteFiles?: boolean;
|
2022-10-31 05:38:20 +01:00
|
|
|
|
2023-01-21 21:55:38 +01:00
|
|
|
twa: {
|
|
|
|
nameSpace?: string;
|
|
|
|
packageName?: string;
|
|
|
|
sha256CertFingerprints?: string[];
|
|
|
|
};
|
|
|
|
|
2023-04-26 22:06:18 +02:00
|
|
|
reservedUsernames?: string[];
|
|
|
|
|
2022-11-02 02:41:59 +01:00
|
|
|
// Managed hosting stuff
|
2022-10-31 05:38:20 +01:00
|
|
|
maxUserSignups?: number;
|
2022-11-02 02:41:59 +01:00
|
|
|
isManagedHosting?: boolean;
|
2022-12-13 00:07:38 +01:00
|
|
|
maxNoteLength?: number;
|
2023-03-04 15:16:20 +01:00
|
|
|
maxCaptionLength?: number;
|
2022-11-02 02:41:59 +01:00
|
|
|
deepl: {
|
|
|
|
managed?: boolean;
|
|
|
|
authKey?: string;
|
|
|
|
isPro?: boolean;
|
|
|
|
};
|
2023-04-30 03:09:51 +02:00
|
|
|
libreTranslate: {
|
|
|
|
managed?: boolean;
|
|
|
|
apiUrl?: string;
|
|
|
|
apiKey?: string;
|
|
|
|
};
|
2022-11-02 02:41:59 +01:00
|
|
|
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;
|
2019-02-07 13:02:33 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Misskeyが自動的に(ユーザーが設定した情報から推論して)設定する情報
|
|
|
|
*/
|
|
|
|
export type Mixin = {
|
2019-11-01 14:34:26 +01:00
|
|
|
version: string;
|
2019-02-07 13:02:33 +01:00
|
|
|
host: string;
|
|
|
|
hostname: string;
|
2023-09-05 21:04:30 +02:00
|
|
|
domain: string;
|
2019-02-07 13:02:33 +01:00
|
|
|
scheme: string;
|
2019-02-24 04:53:22 +01:00
|
|
|
wsScheme: string;
|
|
|
|
apiUrl: string;
|
|
|
|
wsUrl: string;
|
|
|
|
authUrl: string;
|
|
|
|
driveUrl: string;
|
|
|
|
userAgent: string;
|
2022-05-01 15:51:07 +02:00
|
|
|
clientEntry: string;
|
2023-11-23 20:16:40 +01:00
|
|
|
mediaDir: string;
|
2019-02-07 13:02:33 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
export type Config = Source & Mixin;
|