-
Notifications
You must be signed in to change notification settings - Fork 0
/
judge0.conf
358 lines (282 loc) · 12 KB
/
judge0.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
################################################################################
# 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=false
# 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 autorized 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=
################################################################################
# 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://api.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://api.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://api.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=YourPasswordHere1234
################################################################################
# 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=YourPasswordHere1234
################################################################################
# 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 aditionally 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=