设置

大多数设置位于控制面板,少数设置在容器启动时提供。

本页内容
  1. 设置列表
  2. 使用 docker run
  3. 使用 Docker Compose
  4. 内存
  5. 数据存放在哪里

设置列表

设置默认值说明
THIRTYFILE_ADMIN_PASSWORD随机admin 账号的密码,仅首次启动时使用。示例 choose-a-password 视为未设置
THIRTYFILE_ADMIN_PASSWORD_FILE从文件读取管理员密码,例如 Docker secret
THIRTYFILE_SECURE_COOKIEfalse网站使用 HTTPS 时设为 true(以 https:// 开头的网站地址也有相同效果)。cookie 仅通过 HTTPS 发送,并要求浏览器一年内只使用 HTTPS(HSTS)
THIRTYFILE_TRUST_PROXYfalse网站位于同一电脑或 Docker 网络的反向代理后方时,设为 true。代理在另一台电脑时,填写地址列表,例如 203.0.113.7, 10.1.0.0/16。IPv6 形式的地址,例如 ::ffff:172.18.0.1,按其中的 IPv4 地址处理(网络至少需要 /96:::ffff:172.18.0.0/112 等于 172.18.0.0/16)。true 信任所有私有地址,包括网络中其他电脑;明确列出代理地址更安全。仅信任来自这些地址的代理请求信息(X-Forwarded-For、-Host 和 -Proto)
THIRTYFILE_TRASH_DAYS30回收站保留天数。0 表示永久保留
THIRTYFILE_MAX_UPLOAD_MB0可上传的最大文件大小。0 表示不限制
THIRTYFILE_DB_CACHE_MB16每个数据库连接的缓存大小,单位 MB(最多 8 个连接)。多用户的大型服务器可提高
THIRTYFILE_THUMBNAIL_JOBS1 或 2同时生成的缩略图数量:服务器或容器内存不足 2 GB 时为 1,否则为 2
THIRTYFILE_RUN_AS1000:1000服务器运行的用户和用户组。启动时数据和存储文件夹交给该用户所有。由镜像设置;独立服务器程序继续使用启动它的用户运行
THIRTYFILE_LOG_FORMATtextjson 每行输出一个 JSON 对象,供日志收集工具使用
RUST_LOGthirtyfile=info日志详细程度,例如排查问题时设置 thirtyfile=debug
TZUTC时区,例如 Asia/Taipei
THIRTYFILE_SECRET_KEY/data 中的 secret.key加密数据库所保存密码和密钥的密钥(存储位置、单点登录、签名密钥),为 64 个十六进制字符,例如由 openssl rand -hex 32 生成。未设置时,首次启动会创建 /data/secret.key。参阅升级与备份
THIRTYFILE_SECRET_KEY_FILE从文件读取密钥,例如 Docker secret
THIRTYFILE_ADDR0.0.0.0:8080容器内服务器监听的地址和端口。要更改电脑对外端口,应修改发布端口(-p 9000:8080)
THIRTYFILE_DATA/data数据库、缩略图和进行中上传的目录。由镜像设置,请在该处挂载文件夹,不要修改变量。独立服务器程序使用 ./data
THIRTYFILE_STORAGE/storage内置存储位置的文件夹,与 THIRTYFILE_DATA 一样由镜像设置。独立服务器程序使用数据目录内的 blobs

开关设置接受 true 和 false(也接受 1/0、yes/no 和 on/off,不区分大小写)。在 compose.yaml 中加引号("true"),否则 YAML 会将其解析为其他类型。

使用 docker run

每项设置添加一个 -e:

docker run -d --name thirtyfile --restart unless-stopped -p 8080:8080 \
  -v /srv/thirtyfile/data:/data -v /srv/thirtyfile/storage:/storage \
  -e THIRTYFILE_ADMIN_PASSWORD='choose-a-password' \
  -e TZ=Asia/Taipei \
  -e THIRTYFILE_TRASH_DAYS=60 \
  ghcr.io/thirtyfile/thirtyfile:latest

之后更改设置时,先停止并移除容器,再用新值重新运行命令。文件会保留。

docker stop thirtyfile && docker rm thirtyfile

使用 Docker Compose

在 compose.yaml 的 environment: 下添加,然后再次运行 docker compose up -d:

    environment:
      TZ: Asia/Taipei
      THIRTYFILE_TRASH_DAYS: "60"

内存

ThirtyFile 空闲时约需 100 MB 内存,通常低于 300 MB。大型图片缩略图占用最多,每个同时生成的缩略图最多约 280 MB。可在 1 GB 内存的 NAS 或 Raspberry Pi 上运行:不足 2 GB 时,每次只生成一个缩略图,并降低图片解码允许的内存量(超过限制的图片不生成缩略图)。

如需限制内存用量,为容器设置上限,例如 docker run 添加 --memory 512m,或 compose.yaml 设置 mem_limit: 512m。ThirtyFile 启动时读取上限并相应调整。

数据存放在哪里

容器使用两个目录,请分别挂载电脑上的文件夹:

容器内目录内容
/data账号、设置、日志、缩略图和进行中的上传。通常较小
/storage内置存储位置中的文件,按普通文件夹保存:company、teams/<space name>、users/<user name>。随文件数量增长

两者无需位于同一磁盘:/storage 可放在大容量磁盘或 NAS 挂载点。缺少的文件夹会创建,启动时两者都交给用户 1000(参阅 THIRTYFILE_RUN_AS),无需自行更改所有者。

其他磁盘可添加为额外存储位置:挂载到容器,例如 -v /mnt/nas:/nas,再从控制面板 › 存储位置添加 /nas。参阅存储位置。