35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
|
# Configuration
|
||
|
|
||
|
## Configuration file
|
||
|
|
||
|
Foldsite is configured using a TOML file (default: `config.toml`). This file specifies paths to content, templates, and styles, as well as server settings.
|
||
|
|
||
|
Example `config.toml`:
|
||
|
|
||
|
```toml
|
||
|
[paths]
|
||
|
content_dir = "/home/myuser/site/content"
|
||
|
templates_dir = "/home/myuser/site/themes/cobalt/templates"
|
||
|
styles_dir = "/home/myuser/site/themes/cobalt/styles"
|
||
|
|
||
|
[server]
|
||
|
listen_address = "127.0.0.1"
|
||
|
listen_port = 8080
|
||
|
debug = false
|
||
|
access_log = true
|
||
|
max_threads = 4
|
||
|
admin_browser = false
|
||
|
admin_password = "your_admin_password"
|
||
|
```
|
||
|
|
||
|
## Server Settings
|
||
|
|
||
|
- **`listen_address`**: The IP address the server listens on (default: `127.0.0.1`).
|
||
|
- **`listen_port`**: The port the server listens on (default: `8080`).
|
||
|
- **`debug`**: Enables or disables debug mode (default: `false`). In debug mode, the server will automatically reload when code changes are detected, and more detailed error messages will be shown.
|
||
|
- **`access_log`**: Enables or disables access logging (default: `true`). If enabled, access logs will be written to standard output.
|
||
|
- **`max_threads`**: The maximum number of threads to use for handling requests (default: `4`). This setting directly impacts the concurrency of the server.
|
||
|
- **`admin_browser`**: Enables or disables the built-in file manager (default: `false`).
|
||
|
- **`admin_password`**: Sets the password for the file manager. Required if `admin_browser` is `true`.
|
||
|
|
||
|
The `Configuration` class (`/foldsite/src/config/config.py`) is responsible for loading and parsing this configuration file. It also sets global variables (`CONTENT_DIR`, `TEMPLATES_DIR`, `STYLES_DIR`) for easy access to these directories throughout the application. Errors are raised if the config file is missing, invalid, or lacks required sections (like `paths` or `server`).
|