价格文档账号

本机配置

danio.toml 里每一项设置的含义、可选值和默认值,以及 danio 读取的环境变量。

config/danio.toml 只放这台电脑自己的设置。它是 danio 唯一留给人手改的文件,所以用 TOML;danio 自己写的其他文件都是 JSON。

工作区和项目的设置记在主机的数据库里,不在这个文件里。

文件在哪

文件在数据目录的 config 子目录里。数据目录是:

系统数据目录
Windows%LOCALAPPDATA%\danio
Linux$XDG_DATA_HOME/danio,没设时是 ~/.local/share/danio
Docker 容器/data

设了环境变量 DANIO_HOME 时,数据目录就是它。文件不存在时全部用默认值,第一次改设置后才会生成。:ui设置 页的 本机数据 里显示这个文件的路径。

怎么改

  • 界面:大部分项在 设置 页里改。别的设备的设置,在设备详情的 设备设置 里改。
  • 命令行:
    danio config                    # 列出全部项和当前值
    danio config get node.gpus      # 读一项
    danio config set node.gpus 0,1  # 改一项
    

    config set 先检查值,再写进文件。danio 正在运行时,改动马上生效,只有 cache_dir 和 work_dir 要重启 danio。
  • 手改文件:用编辑器改 danio.toml,重启 danio 后生效。写了不认识的项,或值不合规则,danio 会报错并指出是哪一项。

命令行里的键和文件里的名字一样,表里的项用点连起来,如 node.render、blender.path。列表用逗号隔开:danio config set addon.blenders "D:\Blender-A\blender.exe,D:\Blender-B\blender.exe"。数字和字符串项传空值("")是恢复默认。

缓存和目录

目录都要写绝对路径。cache_dir、work_dir、shared_cache_dir 也可以写网络共享,如 //NAS/cache。

配置项类型默认说明
cache_dir字符串空缓存目录,放从存储拉下来的文件。空为数据目录下的 cache
work_dir字符串空工作目录,放任务目录、资源包和临时文件。空为数据目录
shared_cache_dir字符串空共享缓存目录,几台设备共用。设备先在这里找文件,找不到再去存储。空为不用
shared_cache_gb整数0共享缓存的上限,单位 GB。0 为不限
cache_keep_days整数不写时为 14缓存里多少天没用过的文件会删掉
cache_max_gb整数不写时为 10缓存的上限,单位 GB。超出时最久没用的先删

cache_keep_days 和 cache_max_gb 不接受 0。要用默认值,就不写这一项。

运行和更新

配置项类型默认说明
auto_update布尔false自动更新。主机和单机在后台下载新版,在两段渲染之间换上;加入别人工作区的设备跟随主机的版本
update_mirror字符串空GitHub 下载加速地址,必须以 https:// 开头,如 https://mirror.example.com/。danio 先试它,再试 GitHub。空为用 danio 网站推荐的地址
update_every整数0多久检查一次新版,单位分钟。可选 30、60、360、1440;0 为 360(6 小时)
show_console布尔false仅 Windows:窗口版旁边开一个终端窗口,显示运行日志
keep_awake字符串空防止休眠。render 为接收渲染时防止,always 为 danio 运行期间防止,空为不管
sound字符串空提示音。off 为关闭,空为开启
sound_volume整数0提示音音量,1 到 100。0 为 70

任务和上传

配置项类型默认说明
job_files_hours整数0任务目录闲置多少小时后删除工程文件,渲染出的帧和预览保留。可选 1、3、24;-1 为不删;0 为 3
job_gone_days整数0任务从工作区清除后,多少天删除任务目录。可选 1、7、30;-1 为不删;0 为 1
upload_parallel整数0一个对象同时上传几块。可选 1、2、4、8;0 为 4
upload_lan_mbps整数0上传到局域网存储的限速,单位 Mbps。0 为不限
upload_wan_mbps整数0上传到局域网外存储的限速,单位 Mbps。0 为不限

mounts

系统里找不到某个 SMB 共享挂在哪时,用 mounts 告诉 danio。键是共享,至少写到共享名,如 //NAS/work;值是它在本机的绝对路径:

[mounts]
"//NAS/work" = "/mnt/nas/work"

命令行里写成 danio config set mounts.//NAS/work /mnt/nas/work。值留空是删掉这一条。

node

[node]
render = true
gpus = [0, 1]
  • render(布尔):接收渲染任务,不写时为 false。对应界面里的 接收渲染 开关。
  • gpus(整数数组):Cycles 使用的显卡序号。空为全部显卡。

blender

[blender]
path = "C:/Program Files/Blender Foundation/Blender 5.1/blender.exe"
  • path(字符串):Blender 程序的绝对路径。空时 danio 自己找:先用这台电脑打开 .blend 文件的那个 Blender(Windows),再找常见位置和 PATH。
  • pack(字符串):装到本机的资源包的 ID。用资源包时,path 是装好的程序。danio config 命令不能设这一项。

ffmpeg

[ffmpeg]
path = ""
  • path(字符串):FFmpeg 程序的绝对路径。两项都空时,渲染先用工作区里本平台的 FFmpeg 资源包,没有时用 PATH 里的(FFmpeg)。
  • pack(字符串):和 [blender] 里的一样。

addon

[addon]
blenders = ["D:/Blender-5.1.1/blender.exe"]
  • blenders(字符串数组):danio 找不到的 Blender,手动加进列表,用来安装 danio 扩展。写绝对路径。

ui

[ui]
language = "zh-CN"
  • language(字符串):界面、命令行、终端界面和托盘的语言。可选 zh-CN、en;空为跟随系统。

环境变量

这些变量在 danio 启动时读取,和 danio.toml 无关。

变量说明
DANIO_HOME数据目录,要写绝对路径。放在这台电脑自己的磁盘上,不要放在 SMB、NFS 共享里
DANIO_PORT本机界面的端口。不设时用 7421,被占用就往上找;设了就只用它,被占用时报错
DANIO_ADDRESS本机界面监听的地址,多个用逗号隔开。不设时只在 127.0.0.1 监听。写某块网卡的 IP 是在这块网卡上监听,0.0.0.0 是全部网卡,https://… 是反向代理对外的网址
DANIO_TOKEN固定本机令牌,至少 32 个字符。不设时 danio 第一次启动自己生成,存在数据目录的 data/local-token
DANIO_TOKEN_FILE从这个文件读本机令牌,给 Docker secret 用。不能和 DANIO_TOKEN 同时设
DANIO_LOG_LEVEL设为 debug 时日志更详细
DANIO_BUN运行插件的 Bun 的路径。不设时用 PATH 里的,没有就下载
DANIO_JOIN_TOKENdanio workspace join 从这里读设备令牌,不用在命令行里写
DANIO_RECOVERY_KEY接管工作区时,从这里读恢复密钥
DANIO_S3_ACCESS_KEY、DANIO_S3_SECRET_KEY接管对象存储上的工作区时,从这里读 Access Key 和 Secret Key

7420 是工作区给其他设备用的端口,7421 是本机界面的端口,两个不能相同。danio token new 生成一个可用的令牌。Docker 里怎么设这些变量,见把主机放到 NAS 上。