跳到主要内容

配置文件

项目支持 config.yaml 配置文件和环境变量双重配置。

程序默认使用 config/ 目录,可通过启动参数 --config-dir 指定其它目录(例如 --config-dir /data/config)。

配置示例

首次运行会自动使用默认配置,你可以在根目录或 config/ 目录下创建 config.yaml

server:
port: "8080"
mode: "release"

database:
type: "sqlite"
filename: "database/perfect_pic.db"
host: "127.0.0.1"
port: "3306"
user: "root"
password: "password"
name: "perfect_pic"
ssl: false

jwt:
secret: "perfect_pic_secret"
expiration_hours: 24

upload:
path: "uploads/imgs"
url_prefix: "/imgs/"
avatar_path: "uploads/avatars"
avatar_url_prefix: "/avatars/"

smtp:
host: "smtp.example.com"
port: 587
username: "examle@example.com"
password: "your_smtp_password"
from: "examle@example.com"
ssl: false

redis:
enabled: false
addr: "127.0.0.1:6379"
password: ""
db: 0
prefix: "perfect_pic"

配置说明

Server 配置

配置默认值描述可选值
server.port8080服务启动端口1-65535
server.modedebug服务模式debug, release

Database 配置

配置默认值描述可选值
database.typesqlite数据库类型sqlite, mysql, postgres
database.filenamedatabase/perfect_pic.db数据库文件名称(仅SQLite)-
database.host127.0.0.1数据库连接地址-
database.port3306数据库连接端口1-65535
database.userroot数据库用户名-
database.passwordroot数据库密码-
database.nameperfect_pic数据库名称-
database.sslfalse启用SSLtrue, false

JWT 配置

配置默认值描述可选值
jwt.secretJWT 密钥(生产环境务必修改!)-
jwt.expiration_hours24JWT过期时长-

Upload 配置

配置默认值描述可选值
upload.pathuploads/imgs图片存储路径-
upload.url_prefix/imgs/图片URL前缀-
upload.avatar_pathuploads/avatars头像存储路径-
upload.avatar_url_prefix/avatars/头像URL前缀-

SMTP 配置

配置默认值描述可选值
smtp.hostSMTP服务器地址-
smtp.port587SMTP服务器端口-
smtp.usernameSMTP用户名-
smtp.passwordSMTP密码-
smtp.fromSMTP发送者邮箱-
smtp.sslfalse启用SMTP SSLtrue, false

Redis 配置

配置默认值描述可选值
redis.enabledfalse开启Redis支持true, false
redis.addr127.0.0.1:6379Redis连接地址(包括端口)-
redis.passwordRedis连接密码-
redis.db0Redis数据库-
redis.prefixperfect_picRedis记录前缀-