# Loco configuration file documentation # Application logging configuration logger: # Enable or disable logging. enable: true # Enable pretty backtrace (sets RUST_BACKTRACE=1) pretty_backtrace: true # Log level, options: trace, debug, info, warn or error. level: debug # Define the logging format. options: compact, pretty or Json format: compact # By default the logger has filtering only logs that came from your code or logs that came from `loco` framework. to see all third party libraries # Uncomment the line below to override to see all third party libraries you can enable this config and override the logger filters. # override_filter: trace # Web server configuration server: # Port on which the server will listen. the server binding is 0.0.0.0:{PORT} port: 5001 # The UI hostname or IP address that mailers will point to. host: http://webui.konobangu.com # Out of the box middleware configuration. to disable middleware you can changed the `enable` field to `false` of comment the middleware block middlewares: # Enable Etag cache header middleware etag: enable: true # Allows to limit the payload size request. payload that bigger than this file will blocked the request. limit_payload: # Enable/Disable the middleware. enable: true # the limit size. can be b,kb,kib,mb,mib,gb,gib body_limit: 5mb # Generating a unique request ID and enhancing logging with additional information such as the start and completion of request processing, latency, status code, and other request details. logger: # Enable/Disable the middleware. enable: true # when your code is panicked, the request still returns 500 status code. catch_panic: # Enable/Disable the middleware. enable: true # Timeout for incoming requests middleware. requests that take more time from the configuration will cute and 408 status code will returned. timeout_request: # Enable/Disable the middleware. enable: false # Duration time in milliseconds. timeout: 5000 cors: enable: true # Set the value of the [`Access-Control-Allow-Origin`][mdn] header # allow_origins: # - https://loco.rs # Set the value of the [`Access-Control-Allow-Headers`][mdn] header # allow_headers: # - Content-Type # Set the value of the [`Access-Control-Allow-Methods`][mdn] header # allow_methods: # - POST # Set the value of the [`Access-Control-Max-Age`][mdn] header in seconds # max_age: 3600 # Worker Configuration workers: # specifies the worker mode. Options: # - BackgroundQueue - Workers operate asynchronously in the background, processing queued. # - ForegroundBlocking - Workers operate in the foreground and block until tasks are completed. # - BackgroundAsync - Workers operate asynchronously in the background, processing tasks with async capabilities. mode: BackgroundQueue # Mailer Configuration. mailer: # SMTP mailer configuration. smtp: # Enable/Disable smtp mailer. enable: true # SMTP server host. e.x localhost, smtp.gmail.com host: '{{ get_env(name="MAILER_HOST", default="localhost") }}' # SMTP server port port: 1025 # Use secure connection (SSL/TLS). secure: false # auth: # user: # password: # Database Configuration database: # Database connection URI uri: '{{ get_env(name="DATABASE_URL", default="postgres://konobangu:konobangu@127.0.0.1:5432/konobangu") }}' # When enabled, the sql query will be logged. enable_logging: true # Set the timeout duration when acquiring a connection. connect_timeout: 500 # Set the idle duration before closing a connection. idle_timeout: 500 # Minimum number of connections for a pool. min_connections: 1 # Maximum number of connections for a pool. max_connections: 1 # Run migration up when application loaded auto_migrate: true # Truncate database when application loaded. This is a dangerous operation, make sure that you using this flag only on dev environments or test mode dangerously_truncate: false # Recreating schema when application loaded. This is a dangerous operation, make sure that you using this flag only on dev environments or test mode dangerously_recreate: false # Redis Configuration redis: # Redis connection URI uri: '{{ get_env(name="REDIS_URL", default="redis://127.0.0.1:6379") }}' # Dangerously flush all data in Redis on startup. dangerous operation, make sure that you using this flag only on dev environments or test mode dangerously_flush: false settings: dal: data_dir: ./temp mikan: http_client: exponential_backoff_max_retries: 3 leaky_bucket_max_tokens: 2 leaky_bucket_initial_tokens: 0 leaky_bucket_refill_tokens: 1 leaky_bucket_refill_interval: 500 user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0" base_url: "https://mikanani.me/"