Skip to main content
Ayase Quart uses TOML configuration files to manage application settings, database connections, and board configurations.

Configuration files

Ayase Quart requires two main configuration files:
  • config.toml - Main application configuration including app settings, database connections, media serving, search engines, and moderation
  • boards.toml - Board definitions mapping board shortnames to full names
Template files are provided as config.tpl.toml and boards.[archive].tpl.toml (e.g., boards.4chan.tpl.toml or boards.lainchan.tpl.toml).

Application settings

Core application configuration is defined in the [app] section.
testing
boolean
default:"false"
Enable testing mode
secret
string
default:"DEFAULT_CHANGE_ME"
required
Application secret key used for session management and security. Generate a secure value using:
python -c "import secrets as s; print(s.token_hex(24))"
Always change the default secret in production environments
validate_boards_db
boolean
default:"true"
Validate that boards defined in boards.toml have corresponding database tables
autoreload
boolean
default:"false"
Enable automatic code reloading during development
api
boolean
default:"false"
Serve JSON API endpoints including catalog.json, thread.json, and index.json
url
string
default:"http://127.0.0.1:9001"
required
The base URL for your application, including protocol and domain/IP. Everything before the paths and query strings.Examples:
  • http://127.0.0.1:9001 (local development)
  • https://192.168.1.100 (local network)
  • https://ayasequart.com (production)
port
integer
default:"9001"
Port number for the application to listen on
ssl_key
string
Path to SSL private key file (e.g., key.pem). Optional, comment out if not using SSL.
ssl_cert
string
Path to SSL certificate file (e.g., cert.pem). Optional, comment out if not using SSL.
proxy_trusted_hops
integer
default:"0"
Number of trusted proxy hops for X-Forwarded-For header processing. Set to the number of reverse proxies in front of the application.
rate_limiter
boolean
default:"true"
Enable rate limiting on endpoints. All rates are currently hard coded.
allow_robots
boolean
default:"false"
Control whether web crawlers can crawl your site via robots.txt
login_endpoint
string
default:"/login"
Custom endpoint path for the login page. Can be changed to increase security through obscurity.

Site settings

The [site] section controls site appearance and identity.
name
string
default:"Ayase Quart"
Display name for your archive site
theme
string
default:"tomorrow"
Visual theme for the site interfaceAvailable themes:
  • tomorrow
  • yotsuba
  • yotsuba_b
  • futaba
  • burichan
  • photon
site_email
string
default:""
Contact email address displayed on the site
anonymous_username
string
default:"Anonymous"
Default username displayed for posts without a name
custom_banner
string
Custom HTML banner message displayed on the site. Set to empty string ('') to disable, or leave as None for default promo banner.

Archive settings

The [archive] section defines the source archive type and behavior.
type
string
default:"yotsuba"
required
Archive type/formatOptions:
  • yotsuba - 4chan format
  • vichan - Lainchan, Holotower format
canonical_name
string
default:"4chan"
required
Human-readable name of the source archiveExamples:
  • 4chan
  • Lainchan
  • Holotower
canonical_host
string
default:"https://boards.4chan.org"
required
Base URL of the canonical source archive
comments_preescaped
boolean
default:"false"
Whether comment HTML is pre-escaped in the source data
  • false - For 4chan scrapers
  • true - For vichan APIs
catalog_path
string
default:"/catalog"
URL path pattern for catalog pages after /{board}. Default is /catalog.Example: /catalog.html
thread_path
string
default:"/thread/{thread}"
URL path pattern for thread pages after /{board}. Use {thread} as placeholder.Example: /res/{thread}.html
post_path
string
default:"#p{num}"
URL fragment pattern for individual posts after thread_path. Use {num} as placeholder.Example: #{num}

Statistics

The [stats] section controls statistics collection and display.
enabled
boolean
default:"true"
Enable endpoints for viewing post statistics (posts per month per board)
redis
boolean
default:"true"
Use Redis for statistics caching
redis_db
integer
default:"2"
Redis database number for statistics data

Redis connection

The [redis] section configures the Redis connection used for caching and statistics.
host
string
default:"127.0.0.1"
Redis server hostname or IP address
port
integer
default:"6379"
Redis server port
max_connections
integer
default:"1000"
Maximum number of connections in the pool. Ensure your system’s max open files limit is high enough (check with ulimit).

Next steps

Database configuration

Configure MySQL, PostgreSQL, or SQLite connections

Board configuration

Set up board definitions and mappings

Media serving

Configure image and thumbnail serving

Search engines

Set up vanilla and indexed search

Build docs developers (and LLMs) love