Configuration
The PCS’s main settings file1 and Flower settings file2 can be modified directly or with values specified through the use of environment variables. Environment variable values may be passed directly or as the contents of a file. In the latter case, the full path of the file should be passed as a variable’s value. Environment variable values may be stored and passed as Docker Secrets.
Default Values
Many of the default values used in the PCS’s configuration files are designed for a Docker deployment similar to the examples in the Docker Deployment section of this documentation.
Notation
(D) debug mode
DEBUG=True
(P) production modeDEBUG=False
Django
The following variables, located in the main settings file1, map to various Django settings. A link to the relevant Django documentation is provided for each variable.
General
Variable | Default | Description |
---|---|---|
SECRET_KEY | a long string3 | Docs |
DEBUG | False | Docs |
ALLOWED_HOSTS | [] | Docs |
TIME_ZONE | America/New_York | Docs |
Cache
Variable | Default | Description |
---|---|---|
CACHE_LOCATION | redis://redis:6379/0 | Docs |
CACHE_TIMEOUT | (D) 0 (P) 300 | Docs |
Database
Variable | Default | Description |
---|---|---|
SQL_HOST | mariadb | Docs |
SQL_PORT | 3306 | Docs |
SQL_DATABASE | contestsuite | Docs |
SQL_USER | contestadmin | Docs |
SQL_PASSWORD | seminoles1! | Docs |
SQL_TIMEZONE | America/New_York | Docs |
Variable | Default | Description |
---|---|---|
EMAIL_BACKEND | (D) django.core.mail.backends.console.EmailBackend (P) django.core.mail.backends.smtp.EmailBackend | Docs |
EMAIL_HOST | None | Docs |
EMAIL_PORT | 587 | Docs |
EMAIL_HOST_USER | None | Docs |
EMAIL_HOST_PASSWORD | None | Docs |
EMAIL_USE_SSL | False | Docs |
EMAIL_USE_TLS | False | Docs |
DEFAULT_FROM_EMAIL | acm@cs.fsu.edu | Docs |
Celery
The following variables, located in the main settings file1, map to various Celery settings. A link to the relevant Celery documentation is provided for each variable.
Variable | Default | Description |
---|---|---|
CELERY_BROKER | amqp://rabbitmq:5672 | Docs |
CELERY_BACKEND | redis://redis:6379/1 | Docs |
CELERY_TIMEZONE | America/New_York | Docs |
Celery Beat
The following variables, located in the main settings file1, map to various Celery Beat settings. A link to the relevant Celery Beat documentation is provided for each variable.
Variable | Default | Description |
---|---|---|
CELERY_BEAT_SCHEDULE | {'cleanup-lfg-rosters': {'task': 'lfg.tasks.cleanup_lfg_rosters', 'schedule': 600.0,}, 'scrape-discord-members': {'task': 'lfg.tasks.scrape_discord_members', 'schedule': 1800.0,}, 'verify-lfg-profiles': { 'task': 'lfg.tasks.verify_lfg_profiles', 'schedule': 600.0,},} | Docs |
Flower
The following variables, located in the Flower settings file2, map to various Flower settings. A link to the relevant Flower documentation is provided for each variable.
Variable | Default | Description |
---|---|---|
FLOWER_BROKER_API | http://rabbitmq:15672/api/vhost | Docs |
FLOWER_USER (P) | contestadmin | Docs |
FLOWER_PASSWORD (P) | seminoles1! | Docs |
FLOWER_COOKIE_KEY (P) | None | Docs |
FLOWER_URL_PREFIX (P) | flower | Docs |
Discord
The following variables, located in the main settings file1, map to various PCS specific settings required for integration with Discord.
Variable | Default | Description |
---|---|---|
ANNOUNCEMENT_WEBHOOK_URL | None | URL of Discord server’s announcement channel webhook |
BOT_CHANNEL_WEBHOOK_URL | None | URL of Discord server’s bot command channel webhook |
GUILD_ID | 0 | Discord server’s Guid ID |
SCRAPE_BOT_TOKEN | None | Discord bot token required by the LFG helper bot |
Misc
The following variables, located in the main settings file1, map to miscellaneous PCS specific settings. A link to relevant documentation is provided for each variable.
Variable | Default | Description |
---|---|---|
DOMJUDGE_URL | https://domjudge.cs.fsu.edu/public | Full URL of the DOMjudge server. Used for PCS homepage contest server status card. |
PCS_DOCS_URL | https://mmcinnestaylor.github.io/Programming-Contest-Suite | Base URL of the project’s documentation website. Used to link registration guide and other manuals. |
HASHID_FIELD_SALT | a long string4 | Docs The django-hashid-field library is used to hash sensitive PCS database model fields. |
GTAG | None | Google Analytics site tag |