FileRun多功能网盘的搭建

本文完成于国庆期间;

什么是 FileRun ?

FileRun 是一个自托管的 Google Drive 替代方案。它是一个功能齐全的基于 Web 的文件管理器,具有易于使用的用户界面。

FileRun 免费版 可以用于商业和非商业用途,默认提供 5 个用户帐户。注册安装后可以再增加另外 5 个。

老苏个人觉得跟 NextCloud 比较像,因为 FileRun 甚至可以使用 NextCloud 的客户端进行同步

安装

建数据库

老苏用了群晖自带的 MariaDB 10 数据库。

phpMyAdmin 中创建名为 filerun 的空数据库。

为便于说明,假设数据库密码为 123456

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 filerun ,选择第二个 filerun/filerun,版本选择 latest

docker 文件夹中,创建一个新文件夹 filerun,并在其中建两个子文件夹,分别是 htmluser-files

文件夹 装载路径 说明
docker/filerun/html /var/www/html web 程序目录
docker/filerun/user-files /user-files 存放用户文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
7280 80

环境

可变
FR_DB_HOST 数据库主机地址,默认为 db,改为数据库的主机 IP
FR_DB_PORT 数据库端口,默认为 3306,改为 3307
FR_DB_NAME 数据库库名,默认为 filerun,保存不变
FR_DB_USER 数据库用户,默认为 filerun,保存不变
FR_DB_PASS 数据库密码,默认为 filerun,改为你自己的数据库密码
APACHE_RUN_USER 容器用户,默认 user,改为 www-data
APACHE_RUN_USER_ID 容器用户 ID,默认 1000,改为 33
APACHE_RUN_GROUP 容器用户组,默认 www-data
APACHE_RUN_GROUP_ID 容器用户组 ID,默认 1000,改为 33

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 新建文件夹 filerun 和 子目录
mkdir -p /volume2/docker/filerun/{html,user-files}

# 进入 filerun 目录
cd /volume2/docker/filerun

# 运行容器
docker run -d \
--restart unless-stopped \
--name filerun \
-p 7280:80 \
-v $(pwd)/html:/var/www/html \
-v $(pwd)/user-files:/user-files \
-e FR_DB_HOST=192.168.0.197 \
-e FR_DB_PORT=3307 \
-e FR_DB_NAME=filerun \
-e FR_DB_USER=filerun \
-e FR_DB_PASS=123456 \
-e APACHE_RUN_USER=www-data \
-e APACHE_RUN_USER_ID=33 \
-e APACHE_RUN_GROUP=www-data \
-e APACHE_RUN_GROUP_ID=33 \
filerun/filerun

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '2'

services:
web:
image: filerun/filerun
container_name: filerun
restart: unless-stopped
environment:
FR_DB_HOST: 192.168.0.197
FR_DB_PORT: 3307
FR_DB_NAME: filerun
FR_DB_USER: filerun
FR_DB_PASS: 123456
APACHE_RUN_USER: www-data
APACHE_RUN_USER_ID: 33
APACHE_RUN_GROUP: www-data
APACHE_RUN_GROUP_ID: 33
ports:
- "7280:80"
volumes:
- ./html:/var/www/html
- ./user-files:/user-files

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 filerun 和 子目录
mkdir -p /volume2/docker/filerun/{html,user-files}

# 进入 filerun 目录
cd /volume2/docker/filerun

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:7280 就能看到设置界面

系统会检测运行环境

这时间上检测的是容器内的运行环境,所以一般不会有问题

数据库我们已经在环境变量里做了设置,所以这里检测下就行

没问题就下一步

会自动新建管理员,密码一定要记下来,不然只能通过命令行重置了

用上一步生成的账号密码、登录

Your username is superuser
Your password is cff22a6d5cb7

主界面还是很清爽的

中文

官方提供的语言包地址是:https://github.com/filerun/translations,但是现在这里什么都没有

文档中提到的翻译工具什么的也找不到,老苏后来找到了网友提供的 chinese.php,地址放在最后的参考文档中,老苏做了格式化处理,你可以在这里下载:https://raw.githubusercontent.com/wbsu2003/synology/main/FileRun/chinese.php

你可以复制粘贴或者直接另存为 chinese.php,接下来有两种方法设置将 FileRun 设置为中文

方式一

chinese.php 放入 /docker/filerun/html/system/data/translations 目录

Control panel –> Interface options –> Language,缺省的语言中就会多一个 Chinese 选项

方式二

通过 Upload file 上传 chinese.php

不管哪种方式, Save changes 之后,需要刷新一下页面,但是在 Chrome 中似乎并没有完全汉化,删了 cookie 也一样,不清楚原因

但是老苏换了 Edge 浏览器就好了

主界面也是中文的

功能就不介绍了,反正中文的,一看就懂

反向代理

实际访问地址为: https://filerun.laosu.ml:444

域名 局域网地址 备注
filerun.laosu.ml http://192.168.0.197:7280 FileRun 的访问地址

npm 中的设置

SSL 都勾选了

官方给的代码,没有考虑到截端口的情况

1
2
3
4
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;

所以老苏做了修改,将下面的代码填入到 npmAdvanced

1
2
3
4
5
6
7
8
location / {  
proxy_set_header Host $host:444;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_pass http://192.168.0.197:7280;
proxy_redirect http:// https://;
}

License

未注册的安装最多可提供 5 个用户,注册安装之后最多可为 10 个用户提供服务。

只要输入邮件地址

但局域网方式访问时,是不能申请注册的

域名访问就没问题,应该会自动绑定邮件和域名

不过一直就没收到邮件,不知道是啥情况,说是可以通过 FileRun client account 找回来,老苏只是写个教程,懒得弄了。

参考文档

filerun/docker: FileRun Docker Image
地址:https://github.com/filerun/docker

docker :: FileRun Documentation
地址:https://docs.filerun.com/docker

filerun网盘 中文语言包 汉化包 chinese.php at 麻茄 | MAQIE 草原的博客 -YuLiang’S blog
地址:https://www.maqie.com/2022/05/31/filerun%E7%BD%91%E7%9B%98-%E4%B8%AD%E6%96%87%E8%AF%AD%E8%A8%80%E5%8C%85-%E6%B1%89%E5%8C%96%E5%8C%85-chinese-php/