MENU

Dufs 文件服务器部署:集成 dufs-material-assets 美化主题

• October 29, 2025 • Read: 50 • 编码👨🏻‍💻

一、项目介绍

Dufs 是一款独特的实用文件服务器,支持静态服务、上传、搜索、访问控制、webdav...

image-20251029150039119

最近看到 github 上有一个dufs的主题,dufs-material-assets。

image-20251029150527687

dufs-material-assets 实现的功能:

  • 标有✨的是dufs原版前端界面未支持,额外添加的功能。

image-20251029153420696

二、dufs 主题实现方式

2.1 创建 dufs 工作目录

$ mkdir -p /home/application/dufs/
$ mkdir -p /home/application/dufs/bin
$ mkdir -p /home/application/dufs/dufs-material-assets
$ mkdir -p /home/application/dufs/log
$ mkdir -p /home/application/dufs/config
$ mkdir -p /home/application/dufs/files

2.2 下载 dufs 二进制文件及主题

#下载 dufs 二进制文件,这里提供的dufs是dufs-material-assets主题所兼容的 dufs 版本,目前是v0.45.0
$ wget https://github.com/TransparentLC/dufs-material-assets/releases/download/v0.45.0/dufs-mod-v0.45.0-x86_64-unknown-linux-musl.zip

#解压dufs二进制文件,并赋予可执行权限
$ unzip dufs-mod-v0.45.0-x86_64-unknown-linux-musl.zip -d /home/application/dufs/bin
$ chmod +x /home/application/dufs/bin

#下载dufs-material-assets主题
$ wget https://nightly.link/TransparentLC/dufs-material-assets/workflows/ci/master/stats.zip

#解压dufs-material-assets主题
$ unzip dufs-material-assets.zip -d /home/application/dufs/dufs-material-assets

2.3 配置dufs配置文件

/home/application/dufs/files 为 dufs 文件发布的路径; -p 监听在 50000 端口 ; hidden忽略这些文件名称 .git,.DS_Store,tmp ;assets 表示使用dufs-material-assets 主题 。auth 使用用户名密码认证,加目录权限控制,不写用户名就代表为匿名用户。
cat > /home/application/dufs/config/config.yaml << 'EOF'
serve-path: '/home/application/dufs/files'
bind: 0.0.0.0
port: 50000
hidden:
  - tmp
  - '*.log'
  - '.git'
  - '.DS_Store'
  - '*.lock'
auth:
  - '@/upload:rw,/readme.md'
  - 'admin:srebro@/:rw'
allow-all: false
allow-upload: true
allow-delete: true
allow-search: true
allow-symlink: true
allow-archive: true
enable-cors: true
render-index: true
render-try-index: true
render-spa: true
assets: /home/application/dufs/dufs-material-assets
log-format: '$remote_addr "$request" $status $http_user_agent'
log-file: /home/application/dufs/log/dufs.log
compress: low
'EOF'

2.4 使用 systemd 管理 dufs

cat > /etc/systemd/system/dufs.service << 'EOF'
[Unit]
Description=Dufs File Server
Documentation=https://github.com/TransparentLC/dufs-material-assets?tab=readme-ov-file
After=network.target
Wants=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/home/application/dufs/
ExecStart=/home/application/dufs/bin/dufs --config /home/application/dufs/config/config.yaml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=dufs

[Install]
WantedBy=multi-user.target
EOF
  • 重新加载 systemd 配置
systemctl daemon-reload
  • 启动服务并设置开机自启
systemctl start dufs
systemctl enable dufs

2.5 效果预览

image-20251103131653734

image-20251103131706532

Last Modified: November 3, 2025
Archives Tip
QR Code for this page
Tipping QR Code