PassNAT LogoPassNAT

自建智能园艺管家Plant-it 植物护理记录神器,帕斯内网穿透远程管理花草浇水施肥

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Plant-it 是一个自托管的园艺伴侣应用程序,专为帮助你照料植物而设计。这个开源项目基于现代化的技术栈构建,提供了一个完整的植物管理解决方案。

Plant-it 的设计理念非常独特 - 它不会告诉你何时应该给植物浇水或施肥,而是专注于记录你已经完成的护理活动。这种设计是有意为之的,因为开发者坚信只有你自己(结合多个在线资源的帮助)才是决定何时给植物浇水、何时施肥等的最佳人选。

Plant-it 帮助你记住上次对植物进行护理的时间,管理你拥有的植物,收集植物照片,并在距离上次护理行动过去一定时间后通知你。这个应用支持添加现有植物或用户创建的植物到你的收藏中,记录浇水、施肥、生物刺激等事件,查看所有记录的事件(可按植物和事件类型过滤),上传植物照片,以及为某些植物护理行动设置提醒(例如,如果4天未浇水则通知)。

项目地址: 点我跳转

部署安装

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

复制下列的配置文件

1name: plant-it
2services:
3 server:
4 image: msdeluise/plant-it-server:latest
5 env_file: server.env
6 depends_on:
7 - db
8 - cache
9 restart: unless-stopped
10 volumes:
11 - "./upload-dir:/upload-dir"
12 ports:
13 - "8080:8080"
14 - "3000:3000"
15
16 db:
17 image: mysql:8.0
18 restart: always
19 env_file: server.env
20 volumes:
21 - "./db:/var/lib/mysql"
22
23 cache:
24 image: redis:7.2.1
25 restart: always

同时需要创建一个 server.env 文件,内容如下:

1#
2# DB
3#
4MYSQL_HOST=db
5MYSQL_PORT=3306
6MYSQL_USERNAME=root
7MYSQL_PSW=root
8MYSQL_DATABASE=bootdb
9MYSQL_ROOT_PASSWORD=root
10
11#
12# JWT
13#
14JWT_SECRET=putTheSecretHere
15JWT_EXP=1
16
17#
18# Server config
19#
20USERS_LIMIT=-1
21UPLOAD_DIR=/upload-dir
22API_PORT=8080
23FLORACODEX_KEY=
24LOG_LEVEL=DEBUG
25ALLOWED_ORIGINS=*
26
27#
28# Cache
29#
30CACHE_TTL=86400
31CACHE_HOST=cache
32CACHE_PORT=6379

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

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

点击 Compose -> 新建项目

这里需要改成你需要的JWT密钥和数据库密码,其他的保持不变。特别注意需要修改 JWT_SECRET 为一个安全的密钥,MYSQL_PSWMYSQL_ROOT_PASSWORD 可以设置为相同的安全密码。

如果提示端口被占用可以修改下面的字段,但是需要保持格式正确。项目默认使用3000端口作为Web界面,8080端口作为API接口。

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

穿透公网

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

点击创建新隧道

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

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

本地 IP 默认就可以

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

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

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

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

填写完毕点击确定

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

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

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

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

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

本篇教程结束