PassNAT LogoPassNAT

Benotes自托管笔记书签管理应用Docker部署教程,配置帕斯内网穿透实现远程访问个人知识库

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Benotes 是一个开源的自托管笔记和书签管理应用,让你可以将笔记和书签并排管理。这是一个基于 PHP Lumen 框架构建的轻量级 Web 应用,目前处于 Beta 阶段。

Benotes 具有以下特色功能:URL 会自动保存为带有图片、标题和描述的书签;支持 Markdown 和富文本编辑器;可以作为 PWA 安装到移动设备和桌面;支持通过应用分享内容;集合可以通过公开 URL 分享;链接可以快速粘贴为新帖子;轻量级设计可以部署在几乎任何地方;支持文件系统和 S3 存储;可以通过 Docker 或 Heroku 部署;提供每日备份保护数据。

项目地址: 点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

复制下列的配置文件

1version: '3.6'
2services:
3 app:
4 container_name: app
5 image: fr0tt/benotes:latest
6 restart: unless-stopped
7 environment:
8 DB_CONNECTION: mysql
9 RUN_MIGRATIONS: true
10 DB_HOST: db
11 DB_PORT: 3306
12 DB_DATABASE: benotes
13 DB_USERNAME: benotes
14 DB_PASSWORD: benotes
15 APP_KEY: base64:your-app-key-here
16 JWT_SECRET: your-jwt-secret-here
17 ports:
18 - '8000:80'
19 volumes:
20 - benotes_storage:/var/www/storage
21 networks:
22 - benotes
23 depends_on:
24 - db
25
26 db:
27 container_name: db
28 image: mysql:5.7
29 restart: unless-stopped
30 environment:
31 MYSQL_DATABASE: benotes
32 MYSQL_ROOT_PASSWORD: benotes
33 MYSQL_USER: benotes
34 MYSQL_PASSWORD: benotes
35 ports:
36 - '3306'
37 volumes:
38 - benotes_mysql:/var/lib/mysql
39 networks:
40 - benotes
41
42networks:
43 benotes:
44 driver: bridge
45
46volumes:
47 benotes_mysql:
48 driver: 'local'
49 benotes_storage:
50 driver: 'local'

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里需要改成你需要的数据库密码,其他的保持不变。你需要生成 APP_KEY 和 JWT_SECRET,可以使用在线生成器生成 32 位随机字符串。

如果提示端口被占用可以修改 '8000:80' 中的 8000 为其他端口,但是需要保持格式正确。

创建成功后可以访问 ip:8000 到这里就可以正常显示项目了

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 8000 端口,这里本地 IP 就填 8000

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束