Skip to content
This repository was archived by the owner on Feb 4, 2025. It is now read-only.

Commit 98111ab

Browse files
committed
docs: segment configuration options
1 parent 48af986 commit 98111ab

File tree

2 files changed

+45
-27
lines changed

2 files changed

+45
-27
lines changed

docs/content/configuration.md

Lines changed: 43 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,50 @@ meta:
3535

3636
## Configuration
3737

38+
### Core
39+
40+
Important values to configure to customize your CTF.
41+
42+
YAML/JSON name|environment name|required|default value|type|description
43+
-|-|-|-|-|-
44+
`ctfName`|`RCTF_NAME`|yes|_(none)_|string|name of the CTF throughout the UI
45+
`meta.description`|`RCTF_META_DESCRIPTION`|yes|`''`|string|OpenGraph and Twitter embed description
46+
`meta.imageUrl`|`RCTF_IMAGE_URL`|yes|`''`|string|OpenGraph and Twitter embed image URL
47+
`origin`|`RCTF_ORIGIN`|yes|_(none)_|string|public URL of the rCTF instance
48+
`homeContent`|`RCTF_HOME_CONTENT`|yes|`''`|string|markdown content for the homepage of the CTF. [See home doc](management/home.md)
49+
`startTime`|`RCTF_START_TIME`|yes|_(none)_|integer|time at which the CTF starts, in milliseconds since the epoch
50+
`endTime`|`RCTF_END_TIME`|yes|_(none)_|integer|time at which the CTF ends, in milliseconds since the epoch
51+
`divisions`|_(none)_|yes|_(none)_|object|division IDs and their respective names. [See division doc](management/divisions.md)
52+
`defaultDivision`|_(none)_|no|_(none)_|string|default division ID. [See division doc](management/divisions.md)
53+
`divisionACLs`|_(none)_|no|_(none)_|array|ACLs for restricting division access. [See division doc](management/divisions.md)
54+
55+
### Additional
56+
57+
Optional configuration to enable additional features.
58+
3859
YAML/JSON name|environment name|required|default value|type|description
3960
-|-|-|-|-|-
61+
`sponsors`|_(none)_|yes|`[]`|array|list of CTF sponsors. [See home doc](management/home.md)
62+
`globalSiteTag`|`RCTF_GLOBAL_SITE_TAG`|no|_(none)_|string|Google Analytics site tag
63+
`logoUrl`|`RCTF_LOGO_URL`|no|_(none)_|string|URL to raster image of the CTF's logo. used in emails
64+
`email.provider`|_(none)_|no|_(none)_|provider|provider for email sending. [See email doc](providers/emails/index.md)
65+
`email.from`|_(none)_|no|_(none)_|provider|`from:` address when sending email. [See email doc](providers/emails/index.md)
66+
`ctftime.clientId`|`RCTF_CTFTIME_CLIENT_ID`|no|_(none)_|string|CTFtime OAuth client ID. [See CTFtime doc](integrations/ctftime.md)
67+
`ctftime.clientSecret`|`RCTF_CTFTIME_CLIENT_SECRET`|no|_(none)_|string|CTFtime OAuth client secret. [See CTFtime doc](integrations/ctftime.md)
68+
69+
### Advanced
70+
71+
Configuration for advanced users - sane defaults are automatically set by the installation script.
72+
73+
YAML/JSON name|environment name|required|default value|type|description
74+
-|-|-|-|-|-
75+
`tokenKey`|`RCTF_TOKEN_KEY`|yes|_(none)_|string|base64 encoded 32 byte key used for encrypting tokens
76+
`loginTimeout`|`RCTF_LOGIN_TIMEOUT`|yes|3600000|integer|lifetime of registration, email update, and recovery links, in milliseconds
77+
`userMembers`|`RCTF_USER_MEMBERS`|yes|`true`|boolean|whether to allow a user to provide emails for individual members
78+
`database.migrate`|`RCTF_DATABASE_MIGRATE`|yes|`never`|`before | only | never`|how to run postgreSQL migrations. [See migration doc](management/migration.md)
79+
`instanceType`|`RCTF_INSTANCE_TYPE`|yes|`all`|`all | frontend | leaderboard`|what type of instance to run. [See scaling doc](management/scaling.md)
80+
`challengeProvider`|_(none)_|yes|`database`|provider|provider for challenges. [See challenge provider doc](providers/challenges/index.md)
81+
`uploadProvider`|_(none)_|yes|`local`|provider|provider for challenge file uploads. [See upload provider doc](providers/uploads/index.md)
4082
`database.sql`|`RCTF_DATABASE_URL`|either `database.sql` or `database.sql.*`|_(none)_|string|`postgres://` connection URI
4183
`database.sql.host`|`RCTF_DATABASE_HOST`|either `database.sql` or `database.sql.*`|_(none)_|string|hostname of a postgreSQL server
4284
`database.sql.port`|`RCTF_DATABASE_PORT`|either `database.sql` or `database.sql.*`|_(none)_|string|port number that postgreSQL is running on
@@ -48,38 +90,12 @@ YAML/JSON name|environment name|required|default value|type|description
4890
`database.redis.post`|`RCTF_REDIS_PORT`|either `database.sql` or `database.sql.*`|_(none)_|string|port number that redis is running on
4991
`database.redis.password`|`RCTF_REDIS_PASSWORD`|either `database.sql` or `database.sql.*`|_(none)_|string|redis password to authenticate with
5092
`database.redis.database`|`RCTF_REDIS_DATABASE`|either `database.sql` or `database.sql.*`|_(none)_|string|redis numerical database ID to use
51-
`database.migrate`|`RCTF_DATABASE_MIGRATE`|yes|`never`|`before | only | never`|how to run postgreSQL migrations. [See migration doc](management/migration.md)
52-
`instanceType`|`RCTF_INSTANCE_TYPE`|yes|`all`|`all | frontend | leaderboard`|what type of instance to run. [See scaling doc](management/scaling.md)
53-
`tokenKey`|`RCTF_TOKEN_KEY`|yes|_(none)_|string|base64 encoded 32 byte key used for encrypting tokens
54-
`origin`|`RCTF_ORIGIN`|yes|_(none)_|string|public URL of the rCTF instance
55-
`ctftime.clientId`|`RCTF_CTFTIME_CLIENT_ID`|no|_(none)_|string|CTFtime OAuth client ID. [See CTFtime doc](integrations/ctftime.md)
56-
`ctftime.clientSecret`|`RCTF_CTFTIME_CLIENT_SECRET`|no|_(none)_|string|CTFtime OAuth client secret. [See CTFtime doc](integrations/ctftime.md)
57-
`userMembers`|`RCTF_USER_MEMBERS`|yes|`true`|boolean|whether to allow a user to set emails for individual members
58-
`sponsors`|_(none)_|yes|`[]`|array|list of CTF sponsors. [See home doc](management/home.md)
59-
`homeContent`|`RCTF_HOME_CONTENT`|yes|`''`|string|markdown content for the homepage of the CTF. [See home doc](management/home.md)
60-
`ctfName`|`RCTF_NAME`|yes|_(none)_|string|name of the CTF throughout the UI
61-
`meta.description`|`RCTF_META_DESCRIPTION`|yes|`''`|string|OpenGraph and Twitter embed description
62-
`meta.imageUrl`|`RCTF_IMAGE_URL`|yes|`''`|string|OpenGraph and Twitter embed image URL
63-
`logoUrl`|`RCTF_LOGO_URL`|no|_(none)_|string|URL to raster image of the CTF's logo. used in emails
64-
`globalSiteTag`|`RCTF_GLOBAL_SITE_TAG`|no|_(none)_|string|Google Analytics site tag
65-
`challengeProvider`|_(none)_|yes|`database`|provider|provider for challenges. [See challenge provider doc](providers/challenges/index.md)
66-
`uploadProvider`|_(none)_|yes|`local`|provider|provider for challenge file uploads. [See upload provider doc](providers/uploads/index.md)
67-
`email.provider`|_(none)_|no|_(none)_|provider|provider for email sending. [See email doc](providers/emails/index.md)
68-
`email.from`|_(none)_|no|_(none)_|provider|`from:` address when sending email. [See email doc](providers/emails/index.md)
69-
`divisions`|_(none)_|yes|_(none)_|object|division IDs and their respective names. [See division doc](management/divisions.md)
70-
`defaultDivision`|_(none)_|no|_(none)_|string|default division ID. [See division doc](management/divisions.md)
71-
`divisionACLs`|_(none)_|no|_(none)_|array|ACLs for restricting division access. [See division doc](management/divisions.md)
72-
`startTime`|`RCTF_START_TIME`|yes|_(none)_|integer|time at which the CTF starts, in milliseconds since the epoch
73-
`endTime`|`RCTF_END_TIME`|yes|_(none)_|integer|time at which the CTF ends, in milliseconds since the epoch
7493
`leaderboard.maxLimit`|`RCTF_LEADERBOARD_MAX_LIMIT`|yes|100|integer|maximum number of users retrievable in a single leaderboard request
7594
`leaderboard.maxOffset`|`RCTF_LEADERBOARD_MAX_OFFSET`|yes|4294967296|integer|maximum offset from the beginning of the leaderboard
7695
`leaderboard.updateInterval`|`RCTF_LEADERBOARD_UPDATE_INTERVAL`|yes|10000|integer|interval at which the leaderboard is recalculated, in milliseconds
7796
`leaderboard.graphMaxTeams`|`RCTF_LEADERBOARD_GRAPH_MAX_TEAMS`|yes|10|integer|maximum number of users retrievable in a graph request
7897
`leaderboard.graphSampleTime`|`RCTF_LEADERBOARD_GRAPH_SAMPLE_TIME`|yes|1800000|integer|interval at which the score graph is sampled, in milliseconds
79-
`loginTimeout`|`RCTF_LOGIN_TIMEOUT`|yes|3600000|integer|lifetime of registration, email update, and recovery links, in milliseconds
8098

8199
## Custom `conf.d` location
82100

83-
The `conf.d` directory can be renamed or moved elsewhere.
84-
85-
To do so, set the `RCTF_CONF_PATH` environment variable to the location of a directory of YAML or JSON configuration files. If specified as a relative path, the path is evaluated from the current working directory.
101+
The `conf.d` directory can be renamed or moved elsewhere. To do so, set the `RCTF_CONF_PATH` environment variable to the location of a directory of YAML or JSON configuration files. If specified as a relative path, the path is evaluated from the current working directory.

docs/mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ docs_dir: content
4040
theme:
4141
name: material
4242
language: en
43+
features:
44+
- instant
4345
palette:
4446
scheme: slate
4547
primary: blue

0 commit comments

Comments
 (0)