add local_settings.py
This commit is contained in:
parent
d2cb9ccf67
commit
da0c309bcb
2 changed files with 315 additions and 1 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -5,7 +5,7 @@
|
|||
*.py[co]
|
||||
*.mo
|
||||
*~
|
||||
dmoj/local_settings.py
|
||||
# dmoj/local_settings.py
|
||||
resources/style.css
|
||||
resources/content-description.css
|
||||
resources/ranks.css
|
||||
|
|
314
dmoj/local_settings.py
Executable file
314
dmoj/local_settings.py
Executable file
|
@ -0,0 +1,314 @@
|
|||
#####################################
|
||||
########## Django settings ##########
|
||||
#####################################
|
||||
# See <https://docs.djangoproject.com/en/1.11/ref/settings/>
|
||||
# for more info and help. If you are stuck, you can try Googling about
|
||||
# Django - many of these settings below have external documentation about them.
|
||||
#
|
||||
# The settings listed here are of special interest in configuring the site.
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
# You may use <http://www.miniwebtool.com/django-secret-key-generator/>
|
||||
# to generate this key.
|
||||
SECRET_KEY = 's(8*xdlaiy4r@09cidu#)h%%iey39099g=hp(#+kzz+7vefs4u'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True # Change to False once you are done with runserver testing.
|
||||
|
||||
# Uncomment and set to the domain names this site is intended to serve.
|
||||
# You must do this once you set DEBUG to False.
|
||||
ALLOWED_HOSTS = ['0.0.0.0']
|
||||
|
||||
# Optional apps that DMOJ can make use of.
|
||||
INSTALLED_APPS += (
|
||||
)
|
||||
|
||||
#path to problem folder
|
||||
DMOJ_PROBLEM_DATA_ROOT = '/home/cuom1999/DMOJ/problems'
|
||||
|
||||
# Caching. You can use memcached or redis instead.
|
||||
# Documentation: <https://docs.djangoproject.com/en/1.11/topics/cache/>
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
|
||||
}
|
||||
}
|
||||
|
||||
# Your database credentials. Only MySQL is supported by DMOJ.
|
||||
# Documentation: <https://docs.djangoproject.com/en/1.11/ref/databases/>
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME': 'dmoj',
|
||||
'USER': 'dmoj',
|
||||
'PASSWORD': '<password>',
|
||||
'HOST': '127.0.0.1',
|
||||
'OPTIONS': {
|
||||
'charset': 'utf8mb4',
|
||||
'sql_mode': 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION',
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
# Sessions.
|
||||
# Documentation: <https://docs.djangoproject.com/en/1.11/topics/http/sessions/>
|
||||
#SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
|
||||
|
||||
# Internationalization.
|
||||
# Documentation: <https://docs.djangoproject.com/en/1.11/topics/i18n/>
|
||||
LANGUAGE_CODE = 'en-ca'
|
||||
DEFAULT_USER_TIME_ZONE = 'America/Mexico_City'
|
||||
USE_I18N = True
|
||||
USE_L10N = True
|
||||
USE_TZ = True
|
||||
|
||||
## django-compressor settings, for speeding up page load times by minifying CSS and JavaScript files.
|
||||
# Documentation: https://django-compressor.readthedocs.io/en/latest/
|
||||
COMPRESS_OUTPUT_DIR = 'cache'
|
||||
COMPRESS_CSS_FILTERS = [
|
||||
'compressor.filters.css_default.CssAbsoluteFilter',
|
||||
'compressor.filters.cssmin.CSSMinFilter',
|
||||
]
|
||||
COMPRESS_JS_FILTERS = ['compressor.filters.jsmin.JSMinFilter']
|
||||
COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage'
|
||||
STATICFILES_FINDERS += ('compressor.finders.CompressorFinder',)
|
||||
|
||||
|
||||
#########################################
|
||||
########## Email configuration ##########
|
||||
#########################################
|
||||
# See <https://docs.djangoproject.com/en/1.11/topics/email/#email-backends>
|
||||
# for more documentation. You should follow the information there to define
|
||||
# your email settings.
|
||||
|
||||
# Use this if you are just testing.
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
|
||||
# The following block is included for your convenience, if you want
|
||||
# to use Gmail.
|
||||
#EMAIL_USE_TLS = True
|
||||
#EMAIL_HOST = 'smtp.gmail.com'
|
||||
#EMAIL_HOST_USER = '<your account>@gmail.com'
|
||||
#EMAIL_HOST_PASSWORD = '<your password>'
|
||||
#EMAIL_PORT = 587
|
||||
|
||||
# To use Mailgun, uncomment this block.
|
||||
# You will need to run `pip install django-mailgun` for to get `MailgunBackend`.
|
||||
#EMAIL_BACKEND = 'django_mailgun.MailgunBackend'
|
||||
#MAILGUN_ACCESS_KEY = '<your Mailgun access key>'
|
||||
#MAILGUN_SERVER_NAME = '<your Mailgun domain>'
|
||||
|
||||
# You can also use Sendgrid, with `pip install sendgrid-django`.
|
||||
#EMAIL_BACKEND = 'sgbackend.SendGridBackend'
|
||||
#SENDGRID_API_KEY = '<Your SendGrid API Key>'
|
||||
|
||||
# The DMOJ site is able to notify administrators of errors via email,
|
||||
# if configured as shown below.
|
||||
|
||||
# A tuple of (name, email) pairs that specifies those who will be mailed
|
||||
# when the server experiences an error when DEBUG = False.
|
||||
ADMINS = (
|
||||
('cuom1999', 'your.email@example.com'),
|
||||
)
|
||||
|
||||
# The sender for the aforementioned emails.
|
||||
SERVER_EMAIL = 'DMOJ: Modern Online Judge <errors@dmoj.ca>'
|
||||
|
||||
|
||||
##################################################
|
||||
########### Static files configuration. ##########
|
||||
##################################################
|
||||
# See <https://docs.djangoproject.com/en/1.11/howto/static-files/>.
|
||||
|
||||
# Change this to somewhere more permanent., especially if you are using a
|
||||
# webserver to serve the static files. This is the directory where all the
|
||||
# static files DMOJ uses will be collected to.
|
||||
# You must configure your webserver to serve this directory as /static/ in production.
|
||||
STATIC_ROOT = '/home/cuom1999/DMOJ/static_root'
|
||||
|
||||
# URL to access static files.
|
||||
#STATIC_URL = '/static/'
|
||||
|
||||
# Uncomment to use hashed filenames with the cache framework.
|
||||
#STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.CachedStaticFilesStorage'
|
||||
|
||||
############################################
|
||||
########## DMOJ-specific settings ##########
|
||||
############################################
|
||||
|
||||
## DMOJ site display settings.
|
||||
SITE_NAME = 'FOOJ'
|
||||
SITE_LONG_NAME = 'FOOJ: Modern Online Judge'
|
||||
SITE_ADMIN_EMAIL = 'admin@example.com'
|
||||
TERMS_OF_SERVICE_URL = '//dmoj.ca/tos' # Use a flatpage.
|
||||
|
||||
## Bridge controls.
|
||||
# The judge connection address and port; where the judges will connect to the site.
|
||||
# You should change this to something your judges can actually connect to
|
||||
# (e.g., a port that is unused and unblocked by a firewall).
|
||||
BRIDGED_JUDGE_ADDRESS = [('0.0.0.0', 9999)]
|
||||
|
||||
# The bridged daemon bind address and port to communicate with the site.
|
||||
BRIDGED_DJANGO_ADDRESS = [('localhost', 9998)]
|
||||
|
||||
## DMOJ features.
|
||||
# Set to True to enable full-text searching for problems.
|
||||
ENABLE_FTS = True
|
||||
|
||||
# Set of email providers to ban when a user registers, e.g., {'throwawaymail.com'}.
|
||||
BAD_MAIL_PROVIDERS = set()
|
||||
|
||||
# The number of submissions that a staff user can rejudge at once without
|
||||
# requiring the permission 'Rejudge a lot of submissions'.
|
||||
# Uncomment to change the submission limit.
|
||||
REJUDGE_SUBMISSION_LIMIT = 10
|
||||
|
||||
## Event server.
|
||||
# Uncomment to enable live updating.
|
||||
# EVENT_DAEMON_USE = True
|
||||
|
||||
# Uncomment this section to use websocket/daemon.js included in the site.
|
||||
#EVENT_DAEMON_POST = '<ws:// URL to post to>'
|
||||
|
||||
# If you are using the defaults from the guide, it is this:
|
||||
EVENT_DAEMON_POST = 'ws://127.0.0.1:15101/'
|
||||
|
||||
# These are the publicly accessed interface configurations.
|
||||
# They should match those used by the script.
|
||||
#EVENT_DAEMON_GET = '<public ws:// URL for clients>'
|
||||
#EVENT_DAEMON_GET_SSL = '<public wss:// URL for clients>'
|
||||
#EVENT_DAEMON_POLL = '<public URL to access the HTTP long polling of event server>'
|
||||
# i.e. the path to /channels/ exposed by the daemon, through whatever proxy setup you have.
|
||||
|
||||
# Using our standard nginx configuration, these should be.
|
||||
#EVENT_DAEMON_GET = 'ws://<your domain>/event/'
|
||||
#EVENT_DAEMON_GET_SSL = 'wss://<your domain>/event/' # Optional
|
||||
#EVENT_DAEMON_POLL = '/channels/'
|
||||
|
||||
# If you would like to use the AMQP-based event server from <https://github.com/DMOJ/event-server>,
|
||||
# uncomment this section instead. This is more involved, and recommended to be done
|
||||
# only after you have a working event server.
|
||||
#EVENT_DAEMON_AMQP = '<amqp:// URL to connect to, including username and password>'
|
||||
#EVENT_DAEMON_AMQP_EXCHANGE = '<AMQP exchange to use>'
|
||||
|
||||
## CDN control.
|
||||
# Base URL for a copy of ace editor.
|
||||
# Should contain ace.js, along with mode-*.js.
|
||||
ACE_URL = '//cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/'
|
||||
JQUERY_JS = '//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js'
|
||||
SELECT2_JS_URL = '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js'
|
||||
SELECT2_CSS_URL = '//cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css'
|
||||
|
||||
# A map of Earth in Equirectangular projection, for timezone selection.
|
||||
# Please try not to hotlink this poor site.
|
||||
TIMEZONE_MAP = 'http://naturalearth.springercarto.com/ne3_data/8192/textures/3_no_ice_clouds_8k.jpg'
|
||||
|
||||
## Camo (https://github.com/atmos/camo) usage.
|
||||
#CAMO_URL = "<URL to your camo install>"
|
||||
#CAMO_KEY = "<The CAMO_KEY environmental variable you used>"
|
||||
|
||||
# Domains to exclude from being camo'd.
|
||||
#CAMO_EXCLUDE = ("https://dmoj.ml", "https://dmoj.ca")
|
||||
|
||||
# Set to True to use https when dealing with protocol-relative URLs.
|
||||
# See <http://www.paulirish.com/2010/the-protocol-relative-url/> for what they are.
|
||||
#CAMO_HTTPS = False
|
||||
|
||||
# HTTPS level. Affects <link rel='canonical'> elements generated.
|
||||
# Set to 0 to make http URLs canonical.
|
||||
# Set to 1 to make the currently used protocol canonical.
|
||||
# Set to 2 to make https URLs canonical.
|
||||
#DMOJ_HTTPS = 0
|
||||
|
||||
## PDF rendering settings.
|
||||
# Directory to cache the PDF.
|
||||
# PROBLEM_PDF_CACHE = '/home/dmoj-uwsgi/pdfcache'
|
||||
|
||||
# Path to use for nginx's X-Accel-Redirect feature.
|
||||
# Should be an internal location mapped to the above directory.
|
||||
# PROBLEM_PDF_INTERNAL = '/pdfcache'
|
||||
|
||||
# Path to a PhantomJS executable.
|
||||
#PHANTOMJS = '/usr/local/bin/phantomjs'
|
||||
|
||||
# If you can't use PhantomJS or prefer wkhtmltopdf, set the path to wkhtmltopdf executable instead.
|
||||
#WKHTMLTOPDF = '/usr/local/bin/wkhtmltopdf'
|
||||
|
||||
# Note that PhantomJS is preferred over wkhtmltopdf and would be used when both are defined.
|
||||
|
||||
## ======== Logging Settings ========
|
||||
# Documentation: https://docs.djangoproject.com/en/1.9/ref/settings/#logging
|
||||
# https://docs.python.org/2/library/logging.config.html#logging-config-dictschema
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'formatters': {
|
||||
'file': {
|
||||
'format': '%(levelname)s %(asctime)s %(module)s %(message)s',
|
||||
},
|
||||
'simple': {
|
||||
'format': '%(levelname)s %(message)s',
|
||||
},
|
||||
},
|
||||
'handlers': {
|
||||
# You may use this handler as example for logging to other files..
|
||||
'bridge': {
|
||||
'level': 'INFO',
|
||||
'class': 'logging.handlers.RotatingFileHandler',
|
||||
'filename': '<desired bridge log path>',
|
||||
'maxBytes': 10 * 1024 * 1024,
|
||||
'backupCount': 10,
|
||||
'formatter': 'file',
|
||||
},
|
||||
'mail_admins': {
|
||||
'level': 'ERROR',
|
||||
'class': 'dmoj.throttle_mail.ThrottledEmailHandler',
|
||||
},
|
||||
'console': {
|
||||
'level': 'DEBUG',
|
||||
'class': 'logging.StreamHandler',
|
||||
'formatter': 'file',
|
||||
},
|
||||
},
|
||||
'loggers': {
|
||||
# Site 500 error mails.
|
||||
'django.request': {
|
||||
'handlers': ['mail_admins'],
|
||||
'level': 'ERROR',
|
||||
'propagate': False,
|
||||
},
|
||||
# Judging logs as received by bridged.
|
||||
'judge.bridge': {
|
||||
'handlers': ['bridge', 'mail_admins'],
|
||||
'level': 'INFO',
|
||||
'propagate': True,
|
||||
},
|
||||
# Catch all log to stderr.
|
||||
'': {
|
||||
'handlers': ['console'],
|
||||
},
|
||||
# Other loggers of interest. Configure at will.
|
||||
# - judge.user: logs naughty user behaviours.
|
||||
# - judge.problem.pdf: PDF generation log.
|
||||
# - judge.html: HTML parsing errors when processing problem statements etc.
|
||||
# - judge.mail.activate: logs for the reply to activate feature.
|
||||
# - event_socket_server
|
||||
},
|
||||
}
|
||||
|
||||
## ======== Integration Settings ========
|
||||
## Python Social Auth
|
||||
# Documentation: https://python-social-auth.readthedocs.io/en/latest/
|
||||
# You can define these to enable authentication through the following services.
|
||||
#SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ''
|
||||
#SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ''
|
||||
#SOCIAL_AUTH_FACEBOOK_KEY = ''
|
||||
#SOCIAL_AUTH_FACEBOOK_SECRET = ''
|
||||
#SOCIAL_AUTH_GITHUB_SECURE_KEY = ''
|
||||
#SOCIAL_AUTH_GITHUB_SECURE_SECRET = ''
|
||||
#SOCIAL_AUTH_DROPBOX_OAUTH2_KEY = ''
|
||||
#SOCIAL_AUTH_DROPBOX_OAUTH2_SECRET = ''
|
||||
|
||||
## ======== Custom Configuration ========
|
||||
# You may add whatever django configuration you would like here.
|
||||
# Do try to keep it separate so you can quickly patch in new settings.
|
Loading…
Reference in a new issue