热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FileRun多功能网盘的搭建

本文完成于国庆期间;什么是FileRun?FileRun是一个自托管的GoogleDrive替代方案。它是一个功能齐全的基于Web的文件管理器,具有易于




在这里插入图片描述



本文完成于国庆期间;


什么是 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/htmlweb 程序目录
docker/filerun/user-files/user-files存放用户文件


端口

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

# 查看端口占用
netstat -tunlp | grep 端口号

本地端口容器端口
728080

在这里插入图片描述


环境


可变
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 更快捷

# 新建文件夹 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 文件

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

然后执行下面的命令

# 新建文件夹 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.mlhttp://192.168.0.197:7280FileRun 的访问地址

npm 中的设置

在这里插入图片描述

SSL 都勾选了

在这里插入图片描述

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

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

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/








推荐阅读
author-avatar
mobiledu2502855913
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有