Smos Logo Smos

A comprehensive self-management system

Nixos Module Reference

Generated reference documentation about the nixos module for smos server deployments.

Options

services.smos.production.api-server

Smos' API server service

Type: null or submodule

services.smos.production.api-server.admin

The username of the admin user

Type: null or string

Example: "admin"

services.smos.production.api-server.auto-backup

The auto-backup looper

Type: null or submodule

services.smos.production.api-server.auto-backup.enable

Whether to enable auto-backup looper.

Type: boolean

Default: false

Example: true

services.smos.production.api-server.auto-backup.period

How long to wait after each activation of the auto-backup looper.

Type: null or signed integer

Example: 0

services.smos.production.api-server.auto-backup.phase

How long to wait before the first activation of the auto-backup looper.

Type: null or signed integer

Example: 60

services.smos.production.api-server.backup-garbage-collector

The backup-garbage-collector looper

Type: null or submodule

services.smos.production.api-server.backup-garbage-collector.enable

Whether to enable backup-garbage-collector looper.

Type: boolean

Default: false

Example: true

services.smos.production.api-server.backup-garbage-collector.period

How long to wait after each activation of the backup-garbage-collector looper.

Type: null or signed integer

Example: 0

services.smos.production.api-server.backup-garbage-collector.phase

How long to wait before the first activation of the backup-garbage-collector looper.

Type: null or signed integer

Example: 60

services.smos.production.api-server.backup-interval

The interval between automatic backups (seconds)

Type: null or signed integer

Example: 3600

services.smos.production.api-server.config

The contents of the config file, as an attribute set. This will be translated to Yaml and put in the right place along with the rest of the options defined in this submodule.

Type: unspecified

Default: {}

services.smos.production.api-server.enable

Whether to enable Smos API Server.

Type: boolean

Default: false

Example: true

services.smos.production.api-server.file-migrator

The file-migrator looper

Type: null or submodule

services.smos.production.api-server.file-migrator.enable

Whether to enable file-migrator looper.

Type: boolean

Default: false

Example: true

services.smos.production.api-server.file-migrator.period

How long to wait after each activation of the file-migrator looper.

Type: null or signed integer

Example: 0

services.smos.production.api-server.file-migrator.phase

How long to wait before the first activation of the file-migrator looper.

Type: null or signed integer

Example: 60

services.smos.production.api-server.hosts

The host to serve api requests on

Type: list of strings

Example: "api.smos.online"

services.smos.production.api-server.local-backup

The local backup service for the API server database

Type: null or submodule

services.smos.production.api-server.local-backup.backup-dir

The directory to store backups in, relative to the /www/smos/production directory or absolute

Type: string

Default: "backup/api-server"

Example: "backup/api-server"

services.smos.production.api-server.local-backup.enable

Whether to enable Smos API Server Local Backup Service.

Type: boolean

Default: false

Example: true

services.smos.production.api-server.log-level

The log level to use

Type: string

Default: "Warn"

Example: "Debug"

services.smos.production.api-server.max-backup-size-per-user

The maximum number of bytes that backups can take up per user

Type: null or signed integer

Example: 1048576

services.smos.production.api-server.max-backups-per-user

The maximum number of backups per user

Type: null or signed integer

Example: 5

services.smos.production.api-server.monetisation

Monetisation settings for the API server

Type: null or submodule

services.smos.production.api-server.monetisation.freeloaders

The usernames of users that will not have to pay

Type: list of strings

Default: []

Example: [ "friend" ]

services.smos.production.api-server.monetisation.stripe-price

The stripe price

Type: string

Example: "price_XXXXXXXXXXXXXXXXXXXXXXXX"

services.smos.production.api-server.monetisation.stripe-publishable-key

The stripe api publishable key

Type: string

Example: "pk_test_XXXXXXXXXXXXXXXXXXXXXXX"

services.smos.production.api-server.monetisation.stripe-secret-key

The stripe api secret key

Type: string

Example: "sk_test_XXXXXXXXXXXXXXXXXXXXXXX"

services.smos.production.api-server.pkg

The docs server package

Type: unspecified

Default: "smos-server-0.4.0"

services.smos.production.api-server.port

The port to serve api requests on

Type: signed integer

Example: 8001

services.smos.production.docs-site

Smos' documentation site service

Type: null or submodule

services.smos.production.docs-site.api-url

The url for the api server to refer to

Type: null or string

Example: "https://api.smos.online"

services.smos.production.docs-site.config

The contents of the config file, as an attribute set. This will be translated to Yaml and put in the right place along with the rest of the options defined in this submodule.

Type: unspecified

Default: {}

services.smos.production.docs-site.enable

Whether to enable Smos Docs Site.

Type: boolean

Default: false

Example: true

services.smos.production.docs-site.google-analytics-tracking

The Google analytics tracking code

Type: null or string

Example: "XX-XXXXXXXX-XX"

services.smos.production.docs-site.google-search-console-verification

The Google search console verification code

Type: null or string

Example: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

services.smos.production.docs-site.hosts

The host to serve the docs site on

Type: list of strings

Default: []

Example: [ "docs.smos.online" ]

services.smos.production.docs-site.pkg

The docs site package

Type: unspecified

Default: "smos-docs-site-linkchecked"

services.smos.production.docs-site.port

The port to serve sync requests on

Type: signed integer

Example: 8000

services.smos.production.docs-site.web-url

The url for the web server to refer to

Type: null or string

Example: "https://smos.online"

services.smos.production.enable

Whether to enable Smos Service.

Type: boolean

Default: false

Example: true

services.smos.production.web-server

Smos' web server service

Type: null or submodule

services.smos.production.web-server.api-url

The url for the api to use

Type: string

Example: "api.smos.online"

services.smos.production.web-server.config

The contents of the config file, as an attribute set. This will be translated to Yaml and put in the right place along with the rest of the options defined in this submodule.

Type: unspecified

Default: {}

services.smos.production.web-server.docs-url

The url for the docs to refer to

Type: string

Default: "docs.smos.online"

Example: "docs.smos.online"

services.smos.production.web-server.enable

Whether to enable Smos Web Server.

Type: boolean

Default: false

Example: true

services.smos.production.web-server.google-analytics-tracking

The Google analytics tracking code

Type: null or string

Example: "XX-XXXXXXXX-XX"

services.smos.production.web-server.google-search-console-verification

The Google search console verification code

Type: null or string

Example: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

services.smos.production.web-server.hosts

The host to serve web requests on

Type: list of strings

Default: []

Example: [ "smos.online" ]

services.smos.production.web-server.log-level

The log level to use

Type: string

Default: "Warn"

Example: "Debug"

services.smos.production.web-server.pkg

The web server package

Type: unspecified

Default: "smos-web-server-0.6.0"

services.smos.production.web-server.port

The port to serve web requests on

Type: signed integer

Example: 8002

services.smos.production.web-server.web-url

The url that this web server is served from.

Type: null or string

Example: "https://smos.online"