tabby-web testing
This commit is contained in:
127
modules/nixos/services/tabby-web/options.nix
Normal file
127
modules/nixos/services/tabby-web/options.nix
Normal file
@@ -0,0 +1,127 @@
|
||||
{ lib, namespace, ... }:
|
||||
with lib;
|
||||
{
|
||||
options.${namespace}.services.tabby-web = {
|
||||
enable = mkEnableOption "Tabby Web terminal application server";
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 9000;
|
||||
description = "Port for tabby-web server";
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to open firewall for tabby-web";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "tabby-web";
|
||||
description = "User to run tabby-web as";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "tabby-web";
|
||||
description = "Group to run tabby-web as";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/tabby-web";
|
||||
description = "Directory to store tabby-web data";
|
||||
};
|
||||
|
||||
databaseUrl = mkOption {
|
||||
type = types.str;
|
||||
default = "sqlite:///var/lib/tabby-web/tabby.db";
|
||||
description = "Database connection URL";
|
||||
example = "postgresql://user:password@localhost:5432/tabby";
|
||||
};
|
||||
|
||||
appDistStorage = mkOption {
|
||||
type = types.str;
|
||||
default = "file:///var/lib/tabby-web/dist";
|
||||
description = "Storage URL for app distributions";
|
||||
example = "s3://my-bucket/tabby-dist";
|
||||
};
|
||||
|
||||
socialAuth = {
|
||||
github = {
|
||||
key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "GitHub OAuth key";
|
||||
};
|
||||
secret = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "GitHub OAuth secret";
|
||||
};
|
||||
};
|
||||
|
||||
gitlab = {
|
||||
key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "GitLab OAuth key";
|
||||
};
|
||||
secret = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "GitLab OAuth secret";
|
||||
};
|
||||
};
|
||||
|
||||
microsoftGraph = {
|
||||
key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Microsoft Graph OAuth key";
|
||||
};
|
||||
secret = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Microsoft Graph OAuth secret";
|
||||
};
|
||||
};
|
||||
|
||||
googleOauth2 = {
|
||||
key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Google OAuth2 key";
|
||||
};
|
||||
secret = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Google OAuth2 secret";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
extraEnvironment = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = { };
|
||||
description = "Extra environment variables for tabby-web";
|
||||
example = {
|
||||
DEBUG = "1";
|
||||
LOG_LEVEL = "info";
|
||||
};
|
||||
};
|
||||
|
||||
workers = mkOption {
|
||||
type = types.ints.positive;
|
||||
default = 4;
|
||||
description = "Number of gunicorn worker processes";
|
||||
};
|
||||
|
||||
timeout = mkOption {
|
||||
type = types.ints.positive;
|
||||
default = 120;
|
||||
description = "Worker timeout in seconds";
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user