This repository was archived by the owner on Jan 13, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoptions.ini
More file actions
190 lines (145 loc) · 8.08 KB
/
options.ini
File metadata and controls
190 lines (145 loc) · 8.08 KB
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
[Cache]
# Which backend to use for the main cache - if 'memory' is selected, then for most cache operations,
# an in-memory, process-local cache will be used, but a disk based cache will be used for some data
# that needs to be persistent across processes. If 'redis' is used, it is used for all caches.
CACHE_BACKEND = redis
# Default timeout for entries put into the cache.
CACHE_TIMEOUT = 300
# Maximum number of entries to maintain in the cache at once.
CACHE_MAX_ENTRIES = 1000
# Password to authenticate to Redis, Redis only.
CACHE_PASSWORD =
# Host and port at which to connect to Redis, Redis only.
CACHE_LOCATION = localhost:6379
# The database number for Redis.
CACHE_REDIS_DB = 0
# Maximum number of simultaneous connections to allow to Redis, Redis only.
CACHE_REDIS_MAX_POOL_SIZE = 50
# How long to wait when trying to connect to Redis before timing out, Redis only.
CACHE_REDIS_POOL_TIMEOUT = 30
# Maximum memory that Redis should use, Redis only.
CACHE_REDIS_MAXMEMORY = 0
# Eviction policy to use when using Redis for caching, Redis only.
CACHE_REDIS_MAXMEMORY_POLICY = allkeys-lru
[Database]
# Which database backend to use, choices are 'sqlite' or 'postgres'
# DATABASE_ENGINE = sqlite
# For SQLite - the name of a database file to use for the main Kolibri database.
# For Postgresql, the name of the database to use for all Kolibri data.
# DATABASE_NAME =
# The password to authenticate with when connecting to the database, Postgresql only.
# DATABASE_PASSWORD =
# The user to authenticate with when connecting to the database, Postgresql only.
# DATABASE_USER =
# The host on which to connect to the database, Postgresql only.
# DATABASE_HOST =
# The port on which to connect to the database, Postgresql only.
# DATABASE_PORT =
[Server]
DEBUG = False
DEBUG_LOG_DATABASE = False
# How many threads the Kolibri server should use to serve requests
# CHERRYPY_THREAD_POOL = 56
# How long a socket should wait for data flow to resume before
# it considers that the connection has been interrupted.
# Increasing this may help in situations where there is high
# latency on a network or the bandwidth is bursty, with some
# expected data flow interruptions which may not be indicative of the connection failing.
# CHERRYPY_SOCKET_TIMEOUT = 10
# How many requests to allow in the queue.
# Increasing this may help situations where requests are instantly refused by the server.
# CHERRYPY_QUEUE_SIZE = 30
# How many seconds to wait for a request to be put into the queue.
# Increasing this may help situations where requests are instantly refused by the server.
# CHERRYPY_QUEUE_TIMEOUT = 0.1
# Activate the server profiling middleware.
# PROFILE = False
# Run Kolibri with Django setting DEBUG = True
# DEBUG = False
# Activate debug logging for Django ORM operations.
# DEBUG_LOG_DATABASE = False
[Paths]
CONTENT_DIR = /home/kolibri/.kolibri/content
CONTENT_FALLBACK_DIRS = ,
# The directory that will store content files and content database files.
# To change this in a currently active server it is recommended to use the
# 'content movedirectory' management command.
# CONTENT_DIR = content
# Additional directories in which Kolibri will look for content files and content database files.
# CONTENT_FALLBACK_DIRS =
# The file that contains the automatic device provisioning data.
# AUTOMATIC_PROVISION_FILE =
[Urls]
# URL to use as the default source for content import.
# Slightly counterintuitively this will still be displayed in the UI as 'import from Kolibri Studio'.
# CENTRAL_CONTENT_BASE_URL = https://studio.learningequality.org
# URL to use as the target for data portal syncing.
# DATA_PORTAL_SYNCING_BASE_URL = https://kolibridataportal.learningequality.org
[Deployment]
# Sets the port that Kolibri will serve on. This can be further overridden by command line arguments.
HTTP_PORT = 8001
# Turn off the statistics pingback. This will also disable update notifications
DISABLE_PING = True
# Serve Kolibri from a subpath under the main domain. Used when serving multiple applications from
# the same origin. This option is not heavily tested, but is provided for user convenience.
# URL_PATH_PREFIX = /
# The user interface languages to enable on this instance of Kolibri (has no effect on languages of imported content channels).
# The default will include all the languages Kolibri supports.
# LANGUAGES = kolibri-supported
# When running by default (value blank), Kolibri frontend looks for the zipcontent endpoints
# on the same domain as Kolibri proper, but uses ZIP_CONTENT_PORT instead of HTTP_PORT.
# When running behind a proxy, set the value to the port where zipcontent endpoint is served on,
# and it will be substituted for the port that Kolibri proper is being served on.
# When zipcontent is being served from a completely separate domain, you can set an
# absolute origin (full protocol plus domain, e.g. 'https://myzipcontent.com/')
# to be used for all zipcontent origin requests.
# It is strongly recommended that zipcontent is served from a different origin from the main Kolibri app,
# either by port or domain, to allow for proper sandboxing.
# ZIP_CONTENT_ORIGIN =
# Sets the port that Kolibri will serve the alternate origin server on. This is the server that
# is used to serve all content for the zipcontent endpoint, so as to provide safe IFrame sandboxing
# but avoiding issues with null origins.
# This is the alternate origin server equivalent of HTTP_PORT.
# It is strongly recommended that zipcontent is served from a different origin from the main Kolibri app,
# either by port or domain, to allow for proper sandboxing.
# ZIP_CONTENT_PORT = 0
# The zip content equivalent of URL_PATH_PREFIX - allows all zip content URLs to be prefixed with
# a fixed path. This both changes the URL from which the endpoints are served by the alternate
# origin server, and the URL prefix where the Kolibri frontend looks for it.
# In the case that ZIP_CONTENT_ORIGIN is pointing to an entirely separate origin, this setting
# can still be used to set a URL prefix that the frontend of Kolibri will look to when
# retrieving alternate origin URLs.
# ZIP_CONTENT_URL_PATH_PREFIX = /
# Boolean flag that causes content import processes to skip trying to import any
# content, as it is assumed that the remote source has everything available.
# Server configuration should handle ensuring that the files are properly served.
# REMOTE_CONTENT = False
# In case a SoUD connects to this server, the SoUD should use this interval to resync every user.
# SYNC_INTERVAL = 60
# The minimum free disk space that Kolibri should try to maintain on the device. This will
# be used as the floor value to prevent Kolibri completely filling the disk during file import.
# Value can either be a number suffixed with a unit (e.g. MB, GB, TB) or an integer number of bytes.
# MINIMUM_DISK_SPACE = 250MB
# The address that the server should listen on. This can be used to restrict access to the server
# to a specific network interface.
# LISTEN_ADDRESS = 0.0.0.0
# A list of module paths for function callbacks that will be called when server restart is called.
# The default is to disallow server restarts, so callbacks need to be added to enable restarting.
# RESTART_HOOKS = ['kolibri.utils.server.signal_restart']
[Python]
# Which Python pickle protocol to use. Pinned to 2 for now to provide maximal cross-Python version compatibility.
# Can safely be set to a higher value for deployments that will never change Python versions.
# PICKLE_PROTOCOL = 2
[Tasks]
# Whether to use Python multiprocessing for worker pools. If False, then it will use threading. This may be useful,
# if running on a dedicated device with multiple cores, and a lot of asynchronous tasks get run.
# USE_WORKER_MULTIPROCESSING = False
# The number of workers to spin up for regular priority asynchronous tasks.
# REGULAR_PRIORITY_WORKERS = 4
# The number of workers to spin up for high priority asynchronous tasks.
# HIGH_PRIORITY_WORKERS = 2
# The file to use for the job storage database. This is only used in the case that the database backend being used is SQLite.
# JOB_STORAGE_FILEPATH = job_storage.sqlite3
[Edulution]
# Whether to enable custom channel navigation applications
ENABLE_CUSTOM_CHANNEL_NAV = True