summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordogcraft <neko@neko.red>2023-07-17 13:12:02 +0800
committerGitHub <noreply@github.com>2023-07-17 14:12:02 +0900
commit5dab9189999255fce2d89f5737f1166805f893af (patch)
tree4dad2f3cbbcf0cc762c6b283a06d7444e0c568cc
parentperf(frontend): improve performance of contextmenu (diff)
downloadmisskey-5dab9189999255fce2d89f5737f1166805f893af.tar.gz
misskey-5dab9189999255fce2d89f5737f1166805f893af.tar.bz2
misskey-5dab9189999255fce2d89f5737f1166805f893af.zip
enhance(backend): add unix socket support (#11275)
* unix socket support * add changelog * lint --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
-rw-r--r--.config/example.yml4
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/backend/src/boot/master.ts2
-rw-r--r--packages/backend/src/config.ts4
-rw-r--r--packages/backend/src/server/ServerService.ts13
5 files changed, 21 insertions, 3 deletions
diff --git a/.config/example.yml b/.config/example.yml
index c8735bf699..fcf22debce 100644
--- a/.config/example.yml
+++ b/.config/example.yml
@@ -30,6 +30,10 @@ url: https://example.tld/
# The port that your Misskey server should listen on.
port: 3000
+# You can also use UNIX domain socket.
+# socket: /path/to/misskey.sock
+# chmodSocket: '777'
+
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 85e459b950..480dc2c9a1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -61,6 +61,7 @@
- Fix: Remove Meilisearch index when notes are deleted
- Fix: 非英語環境でのPostgreSQLのエラーハンドリングを修正
- Fix: インスタンスのアイコンがbase64の場合の挙動を修正
+- Add unix socket support
## 13.13.2
diff --git a/packages/backend/src/boot/master.ts b/packages/backend/src/boot/master.ts
index b04234fd1f..c253f697f7 100644
--- a/packages/backend/src/boot/master.ts
+++ b/packages/backend/src/boot/master.ts
@@ -78,7 +78,7 @@ export async function masterMain() {
await spawnWorkers(config.clusterLimit);
}
- bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`, null, true);
+ bootLogger.succ(config.socket ? `Now listening on socket ${config.socket} on ${config.url}` : `Now listening on port ${config.port} on ${config.url}`, null, true);
}
function showEnvironment(): void {
diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts
index 23ed6e59bc..8c312256da 100644
--- a/packages/backend/src/config.ts
+++ b/packages/backend/src/config.ts
@@ -14,7 +14,9 @@ export type Source = {
repository_url?: string;
feedback_url?: string;
url: string;
- port: number;
+ port?: number;
+ socket?: string;
+ chmodSocket?: string;
disableHsts?: boolean;
db: {
host: string;
diff --git a/packages/backend/src/server/ServerService.ts b/packages/backend/src/server/ServerService.ts
index 1bae71617b..051920958e 100644
--- a/packages/backend/src/server/ServerService.ts
+++ b/packages/backend/src/server/ServerService.ts
@@ -224,7 +224,18 @@ export class ServerService implements OnApplicationShutdown {
}
});
- fastify.listen({ port: this.config.port, host: '0.0.0.0' });
+ if (this.config.socket) {
+ if (fs.existsSync(this.config.socket)) {
+ fs.unlinkSync(this.config.socket);
+ }
+ fastify.listen({ path: this.config.socket }, (err, address) => {
+ if (this.config.chmodSocket) {
+ fs.chmodSync(this.config.socket!, this.config.chmodSocket);
+ }
+ });
+ } else {
+ fastify.listen({ port: this.config.port, host: '0.0.0.0' });
+ }
await fastify.ready();
}