FileRun on Linode

作者:David Burgess
FileRun on Linode

您可能出于多种原因想要设置像 FileRun 这样的文件服务器。我认为主要原因是为了拥有您自己的 Google Drive 替代方案,该方案在您的控制之下,而不是 Google 的控制之下。

FileRun 声称自己是“可能是世界上最好的文件管理器,具有桌面同步与文件共享功能”,但我认为您需要自己判断。

为了完全透明,我喜欢 FileRun,但它有一个缺点,我希望他们最终会修复。这个缺点是,在我看来,一些非常重要的设置被锁定在企业许可证要求之后。

除此之外,我真的很喜欢 FileRun 的易用性和灵活性。所以让我们来看看它。

在 Docker 中安装 FileRun 的先决条件

首先,您需要设置一个 Docker 服务器。Linode 使这个过程非常简单,您只需每月花费几美元即可设置一个,并且可以免费添加一个私有 IP 地址,以及每月只需再花费几美元即可添加备份。

您还需要一个域名,您可以从几乎任何在线地方购买域名,价格范围很广,具体取决于您的购买地点。请务必将域名的 DNS 设置指向 Linode。您可以在这里找到更多信息: https://www.linode.com/docs/guides/dns-manager/

您还需要在您的 Docker 服务器上设置反向代理,以便您可以执行诸如路由流量和管理服务器上的 SSL 等操作。我制作了一个关于使用 Portainer 和一个名为 Nginx Proxy Manager 的反向代理设置 Docker 服务器的过程的视频,您可以在这里查看: https://www.youtube.com/watch?v=7oUjfsaR0NU

一旦您设置好 Docker 服务器,您就可以开始在该服务器上设置您的 VaultWarden 密码管理器。

您可以通过 2 种主要方式执行此操作

  1. 在命令行中通过 SSH。
  2. 在 Portainer 中通过 Portainer 仪表板。

我们将看看如何在 Portainer 中执行此操作,以便我们可以使用用户界面。

前往 http://your-server-ip-address:9000 并使用我们在之前的文章/视频中设置的凭据登录到 Portainer。

在屏幕的左侧,我们将单击“Stacks”链接,然后在下一页上单击“+ Add stack”按钮。

这将弹出一个页面,您将在其中输入堆栈的名称。在下面,您可以复制并粘贴以下内容

version: "2"<br></br>services:<br></br>  db:<br></br>    image: mariadb:10.1<br></br>    environment:<br></br>      MYSQL_ROOT_PASSWORD: uAWNCGKSwor7fi<br></br>      MYSQL_USER: linodefilerunuser<br></br>      MYSQL_PASSWORD: fEpwC92osi3FTW<br></br>      MYSQL_DATABASE: linodefilerundatabase<br></br>    volumes:<br></br>      - /home/docker/filerun/db:/var/lib/mysql<br></br>    networks:<br></br>      nginxproxymanager_default:<br></br><br></br>  web:<br></br>    image: filerun/filerun<br></br>    environment:<br></br>      FR_DB_HOST: db<br></br>      FR_DB_PORT: 3306<br></br>      FR_DB_NAME: linodefilerundatabase<br></br>      FR_DB_USER: linodefilerunuser<br></br>      FR_DB_PASS: fEpwC92osi3FTW<br></br>      APACHE_RUN_USER: www-data<br></br>      APACHE_RUN_USER_ID: 33<br></br>      APACHE_RUN_GROUP: www-data<br></br>      APACHE_RUN_GROUP_ID: 33<br></br>    depends_on:<br></br>      - db<br></br>    links:<br></br>      - db:db<br></br>    ports:<br></br>      - "8200:80"<br></br>    volumes:<br></br>      - /home/docker/filerun/html:/var/www/html<br></br>      - /home/docker/filerun/user-files:/user-files<br></br>    networks:<br></br>      nginxproxymanager_default:<br></br><br></br>networks:<br></br>  nginxproxymanager_default:<br></br>    external: true

这个 Docker Compose 文件/堆栈告诉系统下载最新的 filerun/filerun 镜像到 Docker 服务器,将其附加到“nginxproxymanager_default”网络,将其挂载到目录“home/docker/filerun”,并使其在 Docker 服务器的 8200 端口上可用。相同的通用原则适用于我们将用作数据库的 mariadb 容器,只是文件和卷不同。

您可以更改您想要存储 filerun 数据的路径(如果您愿意)。只需确保该文件夹具有写入权限即可。

一旦您对这里的设置感到满意,我们就可以通过单击标有“Deploy the stack”的按钮来部署容器。

这将开始在您的服务器上下载和部署 FileRun 的过程。一旦页面重新加载并且您看到所有正在运行的容器,您就会知道容器已部署。

image-1656193421734.png

现在您可以访问 http://your-server-ip-address:8200,您应该能够看到 FileRun 的设置屏幕。

停止。

为了让您能够有效地使用 FileRun,它需要一个域名和 SSL。

设置域名和 SSL

返回您的 Linode 仪表板并转到“Domains”。然后找到您添加到您帐户的域名。单击它,然后查找域名管理的 CNAME 部分。

通过为您希望您的子域名设置的主机名条目添加 CNAME 到您的域名。在示例视频中,我输入了“pw”(不带引号)。在下面,我在“Alias to”框中输入了 @ 符号,然后单击了“Save”。

现在您已经完成该操作,我们可以转到 Nginx Proxy Manager 并设置我们的 SSL 和域名。

现在您可以访问 http://your-server-ip-address:81,您应该能够看到 Nginx Proxy Manager 的登录屏幕。

Nginx Proxy Manager 的默认凭据是

Email:    admin@example.com
Password: changeme

输入这些凭据(或您更新后的凭据)以登录到您的 Nginx Proxy Manager 实例。

单击页面顶部标有“SSL Certificates”的选项卡,然后单击页面右上角附近的“Add SSL Certificate”按钮。

接下来,单击“Let's Encrypt”选项。

在出现的弹出窗口中,输入您要保护的域名的完整 URL,然后按键盘上的“Enter”键。在此示例中,您将输入 https://files.yourdomain.com

输入您的 URL 后,单击正下方的“Test Server Reachability”按钮。如果您收到错误消息,请务必更正问题并重试。如果未返回任何错误,请确保页面上的电子邮件地址正确,然后阅读并同意 Let's Encrypt 服务条款,然后单击“Save”按钮。

系统可能需要一两分钟来生成和安装密钥,但是完成后,页面将重新加载,您将能够在 Nginx Proxy Manager 中看到所有可用的 SSL。

现在我们在系统上设置了 SSL,我们可以单击页面顶部的“Hosts”选项卡。然后单击子菜单中显示的“Proxy Hosts”选项。

找到页面右上角附近的“Add Proxy Host”按钮并单击它。

将弹出一个新窗口,我们将填写一些选项来配置我们的域名。

输入您刚刚为其创建 SSL 的域名或子域名。

将 Scheme 保留为 http。

输入您的容器的 IP 地址。这可以在 Portainer 中找到

image-1656193573596.png

对于“Forward Port”文本框,输入容器端口。在本例中,它是 80。我们在上面图像的“Published Ports”部分看到的 8200 是我们称之为 Docker 端口的端口。我们想要容器端的端口,因此我们将使用分号右侧的数字。

单击“Cache Assets”、“Block Common Exploits”和“Websocket Support”的选项。

现在单击弹出窗口顶部的“SSL”选项卡。

您将看到一个下拉列表,上面写着“SSL Certificate”,下面写着“None”。

单击“None”,然后选择您在上一步中创建的 SSL。

现在选中下面的 4 个选项,然后阅读并同意 Let's Encrypt TOS,然后单击“Save”。

片刻之后,页面将重新加载,您应该会在 Nginx Proxy Manager 的 Proxy Hosts 页面中看到您的新条目。

配置 FileRun

现在您应该可以访问 https://files.yourdomain.com,您应该会看到与之前看到的相同的设置提示。该过程非常简单,您只需单击浏览每个屏幕,并确保所有设置看起来与您之前在 docker-compose/stack 中设置的相同。

完成所有步骤后,您将获得用户名和密码。请存储这些信息以供稍后登录使用。不过,别担心。登录后您可以更改默认凭据。

现在您可以创建用户、上传文件并执行(几乎)所有您期望使用自己的半自托管文件服务器解决方案执行的操作。

您可以在这里观看教程

David Burgess。DB Tech YouTube 频道创始人。 DBTech 专门制作关于 Docker、Portainer、自托管服务、OpenMediaVault 和 Raspberry Pi 的教程视频。

加载 Disqus 评论