nixos/mastodon: Add configurable web- and streaming concurrency

Might as well do this while I'm at it.
This commit is contained in:
embr 2021-09-04 11:07:04 +02:00 committed by Kerstin
parent 8c1e6a8598
commit 023239912c

View file

@ -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.";