配置文件

配置文件

首次启动时,Cloudreve 会在同级目录下创建名为conf.ini的配置文件,你可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。

你也可以在启动时加入-c参数指定配置文件路径:

  1. ./cloudreve -c /path/to/conf.ini

一个完整的配置文件示例如下:

{% code title=”conf.ini” %}

  1. [System]
  2. ; 运行模式
  3. Mode = master
  4. ; 监听端口
  5. Listen = :5000
  6. ; 是否开启 Debug
  7. Debug = false
  8. ; Session 密钥, 一般在首次启动时自动生成
  9. SessionSecret = 23333
  10. ; Hash 加盐, 一般在首次启动时自动生成
  11. HashIDSalt = something really hard to guss
  12. ; SSL 相关
  13. [SSL]
  14. ; SSL 监听端口
  15. Listen = :443
  16. ; 证书路径
  17. CertPath = C:\Users\i\Documents\fullchain.pem
  18. ; 私钥路径
  19. KeyPath = C:\Users\i\Documents\privkey.pem
  20. ; 启用 Unix Socket 监听
  21. [UnixSocket]
  22. Listen = /run/cloudreve/cloudreve.sock
  23. ; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
  24. [Database]
  25. ; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
  26. Type = mysql
  27. ; MySQL 端口
  28. Port = 3306
  29. ; 用户名
  30. User = root
  31. ; 密码
  32. Password = root
  33. ; 数据库地址
  34. Host = 127.0.0.1
  35. ; 数据库名称
  36. Name = v3
  37. ; 数据表前缀
  38. TablePrefix = cd_
  39. ; 字符集
  40. Charset = utf8
  41. ; SQLite 数据库文件路径
  42. DBFile = cloudreve.db
  43. ; 从机模式下的配置
  44. [Slave]
  45. ; 通信密钥
  46. Secret = 1234567891234567123456789123456712345678912345671234567891234567
  47. ; 回调请求超时时间 (s)
  48. CallbackTimeout = 20
  49. ; 签名有效期
  50. SignatureTTL = 60
  51. ; 跨域配置
  52. [CORS]
  53. AllowOrigins = *
  54. AllowMethods = OPTIONS,GET,POST
  55. AllowHeaders = *
  56. AllowCredentials = false
  57. ; Redis 相关
  58. [Redis]
  59. Server = 127.0.0.1:6379
  60. Password =
  61. DB = 0
  62. ; 从机配置覆盖
  63. [OptionOverwrite]
  64. ; 可直接使用 `设置名称 = 值` 的格式覆盖
  65. max_worker_num = 50

{% endcode %}

配置案例

使用 MySQL

默认情况下,Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件cloudreve.db,如果您想要使用 MySQL,请在配置文件中加入以下内容,并重启 Cloudreve。注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL 。

  1. [Database]
  2. ; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
  3. Type = mysql
  4. ; MySQL 端口
  5. Port = 3306
  6. ; 用户名
  7. User = root
  8. ; 密码
  9. Password = root
  10. ; 数据库地址
  11. Host = 127.0.0.1
  12. ; 数据库名称
  13. Name = v3
  14. ; 数据表前缀
  15. TablePrefix = cd
  16. ; 字符集
  17. Charset = utf8

{% hint style=”info” %} 更换数据库配置后,Cloudreve 会重新初始化数据库,原有的数据将会丢失。 {% endhint %}

使用 Redis

你可以在配置文件中加入 Redis 相关设置:

  1. [Redis]
  2. Server = 127.0.0.1:6379
  3. Password = your password
  4. DB = 0

{% hint style=”info” %} 请为 Cloudreve 指定未被其他业务使用的 DB,以避免冲突。 {% endhint %}

重启 Cloudreve 后,可注意控制台输出,确定 Cloudreve 是否成功连接 Redis 服务器。使用 Redis 后,以下内容将被 Redis 接管:

  • 用户会话(重启Cloudreve后不会再丢失登录会话)
  • 数据表高频记录查询缓存(如存储策略、设置项)
  • 回调会话
  • OneDrive 凭证

启用 HTTPS

{% hint style=”info” %} 如果您正在使用 Web 服务器反向代理 Cloudreve,推荐您在 Web 服务器中配置 SSL,本小节所阐述的启用方式只针对使用 Cloudreve 内置 Web 服务器的情境下有效。 {% endhint %}

在配置配置文件中加入:

  1. [SSL]
  2. Listen = :443
  3. CertPath = C:\Users\i\Documents\fullchain.pem
  4. KeyPath = C:\Users\i\Documents\privkey.pem

其中 CertPathKeyPath 分别为 SSL 证书和私钥路径。保存后重启 Cloudreve 生效。

覆盖从机节点的配置项

Cloudreve 的某些配置项时存储测在数据库中的,但是从机机点并不会连接数据库,你可以在配置文件中覆盖响应的配置项。

比如,从机节点作为存储端运行时,你可以通过下面的配置设定从机生成的缩略图规格:

  1. [OptionOverwrite]
  2. thumb_width = 400
  3. thumb_height = 300
  4. thumb_file_suffix = ._thumb
  5. thumb_max_task_count = -1
  6. thumb_encode_method = jpg
  7. thumb_gc_after_gen = 0
  8. thumb_encode_quality = 85

如果从机端作为离线下载节点使用,你可以通过下面的配置覆盖默认的重试、超时参数,以避免默认的数值过于保守导致文件转存失败:

  1. [OptionOverwrite]
  2. ; 任务队列最多并行执行的任务数
  3. max_worker_num = 50
  4. ; 任务队列中转任务传输时,最大并行协程数
  5. max_parallel_transfer = 10
  6. ; 中转分片上传失败后重试的最大次数
  7. chunk_retries = 10