summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorembr <git@liclac.eu>2021-09-04 11:07:04 +0200
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2021-09-21 14:39:12 +0000
commit904fb9d7c034266447e1ec46c789cc58ed282fa7 (patch)
tree42ec19ada6c4a6817765c069de78563b116728c0
parentnixos/mastodon: Fix sidekiq's DB_POOL, add configurable concurrency (diff)
downloadnixpkgs-origin/backport-136668-to-release-21.05.tar.gz
nixos/mastodon: Add configurable web- and streaming concurrencyorigin/backport-136668-to-release-21.05
Might as well do this while I'm at it. (cherry picked from commit 0d719125baee88e2e8d29e6bb2ff3100ba1b2da0)
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index e3bc70791cfb..5bda7d5a5dd2 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -9,6 +9,13 @@ let
RAILS_ENV = "production";
NODE_ENV = "production";
+ # mastodon-web concurrency.
+ WEB_CONCURRENCY = toString cfg.webProcesses;
+ MAX_THREADS = toString cfg.webThreads;
+
+ # mastodon-streaming concurrency.
+ STREAMING_CLUSTER_NUM = toString cfg.streamingProcesses;
+
DB_USER = cfg.database.user;
REDIS_HOST = cfg.redis.host;
@@ -146,12 +153,30 @@ in {
type = lib.types.port;
default = 55000;
};
+ streamingProcesses = lib.mkOption {
+ description = ''
+ Processes used by the mastodon-streaming service.
+ Defaults to the number of CPU cores minus one.
+ '';
+ type = lib.types.nullOr lib.types.int;
+ default = null;
+ };
webPort = lib.mkOption {
description = "TCP port used by the mastodon-web service.";
type = lib.types.port;
default = 55001;
};
+ webProcesses = lib.mkOption {
+ description = "Processes used by the mastodon-web service.";
+ type = lib.types.int;
+ default = 2;
+ };
+ webThreads = lib.mkOption {
+ description = "Threads per process used by the mastodon-web service.";
+ type = lib.types.int;
+ default = 5;
+ };
sidekiqPort = lib.mkOption {
description = "TCP port used by the mastodon-sidekiq service.";