################################################################################ # Judge0 Configuration File ################################################################################ # Judge0 is a highly configurable which allows you to use it for many # different use-cases. Please, before deploying Judge0 take a look at this # configuration file that is divided in several logical sections that will help # you understand what can you do with Judge0. # # This default configuration file is designed to work out of the box for you and # you can start with it when deploying Judge0 on your server. # # If you have any questions please don't hasitate to send an email or open an # issue on the GitHub page of the project. ################################################################################ # Judge0 Server Configuration ################################################################################ # Enable or disable Judge0 Telemetry. # Read more about it here: https://github.com/judge0/judge0/blob/master/TELEMETRY.md # Default: true JUDGE0_TELEMETRY_ENABLE= # Automatically restart Judge0 server if it fails to start. # Default: 10 RESTART_MAX_TRIES= # Maintenance mode is a mode in which clients cannot # create or delete submissions while maintenance is enabled. # Default: false MAINTENANCE_MODE= # Set custom maintenance message that will be returned to clients # who try to create or delete submisions. # Default: Judge0 is currently in maintenance. MAINTENANCE_MESSAGE= # If enabled user can request to synchronically wait for # submission result on submission create. # Default: true, i.e. user can request to wait for the result ENABLE_WAIT_RESULT= # If enabled user is allowed to set custom compiler options. # Default: true ENABLE_COMPILER_OPTIONS= # List language names, separated by space, for which setting compiler options is allowed. # Note that ENABLE_COMPILER_OPTIONS has higher priority, so this option will be # ignored if setting compiler options is disabled with ENABLE_COMPILER_OPTIONS. # For example, ALLOWED_LANGUAGES_FOR_COMPILER_OPTIONS="C C++ Java" would only # allow setting compiler options for languages C, C++ and Java. # Default: empty - for every compiled language setting compiler options is allowed. ALLOWED_LANGUAGES_FOR_COMPILER_OPTIONS= # If enabled user is allowed to set custom command line arguments. # Default: true ENABLE_COMMAND_LINE_ARGUMENTS= # If enabled authorized users can delete a submission. # Default: false ENABLE_SUBMISSION_DELETE= # If enabled user can GET and POST batched submissions. # Default: true ENABLE_BATCHED_SUBMISSIONS= # Maximum number of submissions that can be created or get in a batch. # Default: 20 MAX_SUBMISSION_BATCH_SIZE= # If enabled user can use callbacks. # Default: true ENABLE_CALLBACKS= # Maximum number of callback tries before giving up. # Default: 3 CALLBACKS_MAX_TRIES= # Timeout callback call after this many seconds. # Default: 5 CALLBACKS_TIMEOUT= # If enabled user can preset additional files in the sandbox. # Default: true ENABLE_ADDITIONAL_FILES= # Duration (in seconds) of submission cache. Decimal numbers are allowed. # Set to 0 to turn of submission caching. Note that this does not apply to # batched submissions. # Default: 1 SUBMISSION_CACHE_DURATION= # If true the documentation page will be used as a homepage, otherwise, the # homepage will be empty. You can always access the documentation page via /docs. # Default: false USE_DOCS_AS_HOMEPAGE= # If true Judge0 behaves such that base64_encoded=true is assumed by default if # not explicitly turned of with base64_encoded=false. # Default: false DISABLE_IMPLICIT_BASE64_ENCODING= ################################################################################ # Judge0 Workers Configuration ################################################################################ # Specify polling frequency in seconds. Decimal numbers are allowed. # Default: 0.1 INTERVAL= # Specify how many parallel workers to run. # Default: 2*nproc (https://linux.die.net/man/1/nproc) COUNT= # Specify maximum queue size. Represents maximum number of submissions that # can wait in the queue at once. If request for new submission comes and the # queue if full then submission will be rejected. # Default: 100 MAX_QUEUE_SIZE= ################################################################################ # Judge0 Server Access Configuration ################################################################################ # Allow only specified origins. # If left blank, then all origins will be allowed (denoted with '*'). # Example: # ALLOW_ORIGIN="www.judge0.com judge0.com www.example.com blog.example.com" ALLOW_ORIGIN= # Disallow only specified origins. # If left blank, then no origin will be disallowed. # Example: # DISALLOW_ORIGIN="www.judge0.com judge0.com www.example.com blog.example.com" DISALLOW_ORIGIN= # Allow only specified IP addresses. # If left blank, then all IP addresses will be allowed. # Example: # ALLOW_IP="192.168.10.10 96.239.226.228 208.23.207.242" ALLOW_IP= # Disallow only specified IP addresses. # If left blank, then no IP addresses will be disallowed. # Example: # DISALLOW_IP="192.168.10.10 96.239.226.228 208.23.207.242" DISALLOW_IP= ################################################################################ # Judge0 Authentication Configuration ################################################################################ # You can protect your API with (AUTHN_HEADER, AUTHN_TOKEN) pair. # Each request then needs to have this pair either in headers or # query parameters. For example let AUTHN_HEADER=X-Judge0-Token and # AUTHN_TOKEN=mySecretToken. Then user should authenticate by sending this # in headers or query parameters in each request, e.g.: # https://ce.judge0.com/system_info?X-Judge0-Token=mySecretToken # Specify authentication header name. # Default: X-Auth-Token AUTHN_HEADER= # Specify valid authentication tokens. # Default: empty - authentication is disabled AUTHN_TOKEN= ################################################################################ # Judge0 Authorization Configuration ################################################################################ # Protected API calls can be issued with (AUTHZ_HEADER, AUTHZ_TOKEN) pair. # To see exactly which API calls are protected with authorization tokens # please read the docs at https://ce.judge0.com. # API authorization ensures that only specified users call protected API calls. # For example let AUTHZ_HEADER=X-Judge0-User and AUTHZ_TOKEN=mySecretToken. # Then user should authorize be sending this in headers or query parameters in # each request, e.g.: https://ce.judge0.com/system_info?X-Judge0-User=mySecretToken # Note that if you enabled authentication, then user should also send valid # authentication token. # Specify authorization header name. # Default: X-Auth-User AUTHZ_HEADER= # Specify valid authorization tokens. # Default: empty - authorization is disabled, protected API calls cannot be issued AUTHZ_TOKEN= ################################################################################ # Redis Configuration ################################################################################ # Specify Redis host. # Default: localhost REDIS_HOST=redis # Specify Redis port. # Default: 6379 REDIS_PORT= # Specify Redis password. Cannot be blank. # Default: NO DEFAULT! MUST BE SET! REDIS_PASSWORD= # Specify Resque namespace. # Default: Resque's default namespace # Example: # RESQUE_NAMESPACE=dev:resque RESQUE_NAMESPACE= ################################################################################ # PostgreSQL Configuration ################################################################################ # Specify Postgres host. # Default: localhost POSTGRES_HOST=db # Specify Postgres port. # Default: 5432 POSTGRES_PORT= # Name of the database to use. Used only in production. # Default: postgres POSTGRES_DB=judge0 # User who can access this database. Used only in production. # Default: postgres POSTGRES_USER=judge0 # Password of the user. Cannot be blank. Used only in production. # Default: NO DEFAULT, YOU MUST SET YOUR PASSWORD POSTGRES_PASSWORD= ################################################################################ # Submission Configuration ################################################################################ # Judge0 uses isolate as an sandboxing environment. # Almost all of the options you see here can be mapped to one of the options # that isolate provides. For more information about these options please # check for the isolate documentation here: # https://raw.githubusercontent.com/ioi/isolate/master/isolate.1.txt # Default runtime limit for every program (in seconds). Decimal numbers are allowed. # Time in which the OS assigns the processor to different tasks is not counted. # Default: 5 CPU_TIME_LIMIT= # Maximum custom CPU_TIME_LIMIT. # Default: 15 MAX_CPU_TIME_LIMIT= # When a time limit is exceeded, wait for extra time (in seconds), before # killing the program. This has the advantage that the real execution time # is reported, even though it slightly exceeds the limit. # Default: 1 CPU_EXTRA_TIME= # Maximum custom CPU_EXTRA_TIME. # Default: 5 MAX_CPU_EXTRA_TIME= # Limit wall-clock time in seconds. Decimal numbers are allowed. # This clock measures the time from the start of the program to its exit, # so it does not stop when the program has lost the CPU or when it is waiting # for an external event. We recommend to use CPU_TIME_LIMIT as the main limit, # but set WALL_TIME_LIMIT to a much higher value as a precaution against # sleeping programs. # Default: 10 WALL_TIME_LIMIT= # Maximum custom WALL_TIME_LIMIT. # Default: 20 MAX_WALL_TIME_LIMIT= # Limit address space of the program in kilobytes. # Default: 128000 MEMORY_LIMIT= # Maximum custom MEMORY_LIMIT. # Default: 512000 MAX_MEMORY_LIMIT= # Limit process stack in kilobytes. # Default: 64000 STACK_LIMIT= # Maximum custom STACK_LIMIT. # Default: 128000 MAX_STACK_LIMIT= # Maximum number of processes and/or threads program can create. # Default: 60 MAX_PROCESSES_AND_OR_THREADS= # Maximum custom MAX_PROCESSES_AND_OR_THREADS. # Default: 120 MAX_MAX_PROCESSES_AND_OR_THREADS= # If true then CPU_TIME_LIMIT will be used as per process and thread. # Default: false, i.e. CPU_TIME_LIMIT is set as a total limit for all processes and threads. ENABLE_PER_PROCESS_AND_THREAD_TIME_LIMIT= # If false, user won't be able to set ENABLE_PER_PROCESS_AND_THREAD_TIME_LIMIT. # Default: true ALLOW_ENABLE_PER_PROCESS_AND_THREAD_TIME_LIMIT= # If true then MEMORY_LIMIT will be used as per process and thread. # Default: false, i.e. MEMORY_LIMIT is set as a total limit for all processes and threads. ENABLE_PER_PROCESS_AND_THREAD_MEMORY_LIMIT= # If false, user won't be able to set ENABLE_PER_PROCESS_AND_THREAD_MEMORY_LIMIT. # Default: true ALLOW_ENABLE_PER_PROCESS_AND_THREAD_MEMORY_LIMIT= # Limit size of files created (or modified) by the program in kilobytes. # Default: 1024 MAX_FILE_SIZE= # Maximum custom MAX_FILE_SIZE. # Default: 4096 MAX_MAX_FILE_SIZE= # Run each program this many times and take average of time and memory. # Default: 1 NUMBER_OF_RUNS= # Maximum custom NUMBER_OF_RUNS. # Default: 20 MAX_NUMBER_OF_RUNS= # Redirect stderr to stdout. # Default: false REDIRECT_STDERR_TO_STDOUT= # Maximum total size (in kilobytes) of extracted files from additional files archive. # Default: 10240, i.e. maximum of 10MB in total can be extracted. MAX_EXTRACT_SIZE= # If false, user won't be able to set ENABLE_NETWORK. # Default: true, i.e. allow user to permit or deny network calls from the submission. ALLOW_ENABLE_NETWORK= # If true submission will by default be able to do network calls. # Default: false, i.e. programs cannot do network calls. ENABLE_NETWORK= ################################################################################ # Rails Configuration ################################################################################ # Specify Rails environment: production or development # Default: production RAILS_ENV= # Specify maximum number of concurrent Rails threads. # Default: nproc (https://linux.die.net/man/1/nproc) RAILS_MAX_THREADS= # Specify how many processes will be created for handing requests. Each process # will additionally create RAILS_MAX_THREADS threads. # Default: 2 RAILS_SERVER_PROCESSES= # Secret key base for production, if not set it will be randomly generated # Default: randomly generated SECRET_KEY_BASE=