2024-10-16 18:50:41 +00:00
# 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 : 5150
# The UI hostname or IP address that mailers will point to.
host : http://localhost
# Out of the box middleware configuration. to disable middleware you can changed the `enable` field to `false` of comment the middleware block
middlewares :
# #############################################
# Full stack SaaS asset serving
# #############################################
#
# You can choose from:
#
# (1) Server-side rendered templates (like erb in Ruby, ejs in nodejs) based on the Tera templating engine.
# (2) Client-side frontend set up
#
# You can also choose both.
#
# Uncomment the relevant sections below:
#
# (1) Server-side static assets config
# ====================================
#
# for use with the view_engine in initializers/view_engine.rs
static :
enable : true
must_exist : true
precompressed : false
folder :
uri : "/static"
path : "assets/static"
fallback : "assets/static/404.html"
#
# (2) Client side app static config
# =================================
#
# Note that you need to go in `frontend` and run your frontend build first,
# e.g.: $ npm install & npm build
#
# (client-block-start)
# static:
# enable: true
# must_exist: true
# precompressed: false
# folder:
# uri: "/"
# path: "frontend/dist"
# fallback: "frontend/dist/index.html"
# (client-block-end)
#
2024-10-21 15:13:31 +00:00
# #############################################
# Secure headers middleware
# #############################################
secure_headers :
preset : github
overrides :
# this allows you to use HTMX, and has unsafe-inline. Remove or consider in production
"Content-Security-Policy": "default-src 'self' https:; font-src 'self' https: data:; img-src 'self' https: data:; object-src 'none'; script-src 'unsafe-inline' 'self' https:; style-src 'self' https: 'unsafe-inline'"
2024-10-16 18:50:41 +00:00
# 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 : BackgroundAsync
# 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:
# Initializers Configuration
# initializers:
# oauth2:
# authorization_code: # Authorization code grant type
# - client_identifier: google # Identifier for the OAuth2 provider. Replace 'google' with your provider's name if different, must be unique within the oauth2 config.
# ... other fields
# Database Configuration
database :
# Database connection URI
uri : {{ get_env(name="DATABASE_URL", default="sqlite://nixin_farm_ssr_development.sqlite?mode=rwc") }}
# When enabled, the sql query will be logged.
enable_logging : false
# Set the timeout duration when acquiring a connection.
connect_timeout : {{ get_env(name="DB_CONNECT_TIMEOUT", default="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
# Queue Configuration
queue :
kind : Redis
# Redis connection URI
uri : {{ get_env(name="REDIS_URL", default="redis://127.0.0.1") }}
# 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
# Authentication Configuration
auth :
# JWT authentication
jwt :
# Secret key for token generation and verification
secret : jECGaGSsMtQmKyYyGuk7
# Token expiration time in seconds
expiration : 604800 # 7 days
2024-10-22 21:21:11 +00:00
location :
from : Cookie
name : token