Configuration#
Datasette offers several ways to configure your Datasette instances: server settings, plugin configuration, authentication, and more.
To facilitate this, You can provide a datasette.yaml
configuration file to datasette with the --config
/ -c
flag:
datasette mydatabase.db --config datasette.yaml
datasette.yaml
Reference#
Here's a full example of all the valid configuration options that can exist inside datasette.yaml
.
# Datasette settings block
settings:
default_page_size: 50
sql_time_limit_ms: 3500
max_returned_rows: 2000
# top-level plugin configuration
plugins:
datasette-my-plugin:
key: valueA
# Database and table-level configuration
databases:
your_db_name:
# plugin configuration for the your_db_name database
plugins:
datasette-my-plugin:
key: valueA
tables:
your_table_name:
# plugin configuration for the your_table_name table
# inside your_db_name database
plugins:
datasette-my-plugin:
key: valueB
{
"settings": {
"default_page_size": 50,
"sql_time_limit_ms": 3500,
"max_returned_rows": 2000
},
"plugins": {
"datasette-my-plugin": {
"key": "valueA"
}
},
"databases": {
"your_db_name": {
"plugins": {
"datasette-my-plugin": {
"key": "valueA"
}
},
"tables": {
"your_table_name": {
"plugins": {
"datasette-my-plugin": {
"key": "valueB"
}
}
}
}
}
}
}
Settings configuration#
Settings can be configured in datasette.yaml
with the settings
key.
# inside datasette.yaml
settings:
default_allow_sql: off
default_page_size: 50
{
"settings": {
"default_allow_sql": "off",
"default_page_size": 50
}
}
Plugin configuration#
Configuration for plugins can be defined inside datasette.yaml
. For top-level plugin configuration, use the plugins
key.
# inside datasette.yaml
plugins:
datasette-my-plugin:
key: my_value
{
"plugins": {
"datasette-my-plugin": {
"key": "my_value"
}
}
}
For database level or table level plugin configuration, nest it under the appropriate place under databases
.
# inside datasette.yaml
databases:
my_database:
# plugin configuration for the my_database database
plugins:
datasette-my-plugin:
key: my_value
my_other_database:
tables:
my_table:
# plugin configuration for the my_table table inside the my_other_database database
plugins:
datasette-my-plugin:
key: my_value
{
"databases": {
"my_database": {
"plugins": {
"datasette-my-plugin": {
"key": "my_value"
}
}
},
"my_other_database": {
"tables": {
"my_table": {
"plugins": {
"datasette-my-plugin": {
"key": "my_value"
}
}
}
}
}
}
}
Permissions configuration#
TODO
Canned queries configuration#
TODO
Extra CSS and JS configuration#
TODO