fbc-starter 0.1.8

A production-ready web server starter for Rust based on Axum, with built-in configuration, logging, CORS, database and Redis support
Documentation
# ============================================
# fbc-starter 配置文件示例
# ============================================
# 复制此文件为 .env 并根据实际情况修改配置
# 配置项命名规则:使用双下划线 __ 分隔层级,例如 APP__SERVER__ADDR

# ============================================
# 服务器配置
# ============================================
# 服务器监听地址
APP__SERVER__ADDR=0.0.0.0

# 服务器端口
APP__SERVER__PORT=3000

# 工作线程数(可选,0 表示使用默认值)
# APP__SERVER__WORKERS=0

# 上下文路径(可选,例如 "/api")
# APP__SERVER__CONTEXT_PATH=/api

# ============================================
# 日志配置
# ============================================
# 日志级别:trace, debug, info, warn, error
APP__LOG__LEVEL=info

# 是否使用 JSON 格式输出日志
APP__LOG__JSON=false

# ============================================
# CORS 配置
# ============================================
# 允许的源(逗号分隔,* 表示允许所有)
# APP__CORS__ALLOWED_ORIGINS=*

# 允许的 HTTP 方法(逗号分隔)
# APP__CORS__ALLOWED_METHODS=GET,POST,PUT,DELETE,PATCH,OPTIONS

# 允许的请求头(逗号分隔,* 表示允许所有)
# APP__CORS__ALLOWED_HEADERS=*

# 是否允许凭证(当 allowed_origins 或 allowed_headers 为 * 时,此选项会自动设置为 false)
# APP__CORS__ALLOW_CREDENTIALS=false

# ============================================
# 数据库配置(可选,需要启用 database 特性)
# ============================================
# 数据库连接 URL
# PostgreSQL 示例: postgres://user:password@localhost:5432/dbname
# MySQL 示例: mysql://user:password@localhost:3306/dbname
# SQLite 示例: sqlite://path/to/database.db
# APP__DATABASE__URL=postgres://user:password@localhost:5432/dbname

# 最大连接数(可选,默认 100)
# APP__DATABASE__MAX_CONNECTIONS=100

# 最小连接数(可选,默认 10)
# APP__DATABASE__MIN_CONNECTIONS=10

# ============================================
# Redis 配置(可选,需要启用 redis 特性)
# ============================================
# Redis 连接 URL
# 格式: redis://[username:password@]host:port[/database]
# 示例: redis://127.0.0.1:6379
# 带密码示例: redis://:password@127.0.0.1:6379
# APP__REDIS__URL=redis://127.0.0.1:6379

# Redis 密码(可选,如果 URL 中已包含密码则不需要)
# APP__REDIS__PASSWORD=your_password

# 连接池大小(可选,默认 10)
# APP__REDIS__POOL_SIZE=10

# ============================================
# Nacos 配置(可选,需要启用 nacos 特性)
# ============================================
# Nacos 服务器地址列表(JSON 数组格式)
# 示例: ["http://127.0.0.1:8848"]
# 多个地址示例: ["http://127.0.0.1:8848","http://127.0.0.2:8848"]
# APP__NACOS__SERVER_ADDRS=["http://127.0.0.1:8848"]

# 命名空间(可选)
# APP__NACOS__NAMESPACE=

# 用户名(可选,用于认证)
# APP__NACOS__USERNAME=nacos

# 密码(可选,用于认证)
# APP__NACOS__PASSWORD=nacos

# 服务名称(用于服务注册,如果为空则使用环境变量 CARGO_PKG_NAME)
# APP__NACOS__SERVICE_NAME=my-service

# 服务组名(可选,默认为 DEFAULT_GROUP)
# APP__NACOS__GROUP_NAME=DEFAULT_GROUP

# 服务 IP(可选,默认使用服务器配置的地址)
# APP__NACOS__SERVICE_IP=127.0.0.1

# 服务端口(可选,默认使用8848端口)
# APP__NACOS__SERVICE_PORT=8848

# 健康检查路径(可选)
# APP__NACOS__HEALTH_CHECK_PATH=/health

# 元数据(可选,JSON 对象格式)
# 示例: {"version":"1.0.0","env":"production"}
# APP__NACOS__METADATA={"version":"1.0.0"}

# 订阅的服务列表(可选,用于服务发现,JSON 数组格式)
# 示例: ["service1","service2"]
# APP__NACOS__SUBSCRIBE_SERVICES=["service1","service2"]

# 订阅的配置列表(可选,用于配置管理,JSON 数组格式)
# 每个配置项包含 data_id, group, namespace(可选)
# 示例: [{"data_id":"config1","group":"DEFAULT_GROUP"},{"data_id":"config2","group":"DEFAULT_GROUP","namespace":"namespace1"}]
# APP__NACOS__SUBSCRIBE_CONFIGS=[{"data_id":"config1","group":"DEFAULT_GROUP"}]