待添加应用截图
后端:
前端:
git clone https://github.com/lonelyman0108/HomeNexus.git
cd HomeNexus
cd api
mvn spring-boot:run
后端服务将运行在 http://localhost:8080
cd web
npm install
npm run dev
前端服务将运行在 http://localhost:5173
打开浏览器访问 http://localhost:5173
默认管理员账户:
adminadmin123⚠️ 安全提示: 首次登录后请立即修改默认密码!
HomeNexus/
├── api/ # 后端项目 (Spring Boot)
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/ # Java源代码
│ │ │ └── resources/
│ │ │ ├── application.yml
│ │ │ └── db/migration/ # 数据库迁移脚本
│ │ └── test/
│ ├── pom.xml
│ └── README.md
├── web/ # 前端项目 (Vue 3)
│ ├── src/
│ │ ├── components/ # Vue组件
│ │ ├── views/ # 页面视图
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # Pinia状态管理
│ │ └── utils/ # 工具函数
│ ├── package.json
│ └── vite.config.ts
├── docs/ # 项目文档
│ ├── API.md # API接口文档
│ └── DESIGN_SPEC.md # 设计规范
├── Dockerfile # Docker配置
├── PLAN.md # 项目计划
└── README.md # 项目说明
编辑 api/src/main/resources/application.yml:
# 数据库配置
spring:
datasource:
url: jdbc:h2:./data/homenexus
driver-class-name: org.h2.Driver
# 健康检查配置
app:
health-check:
enabled: true
interval: 300000 # 5分钟
timeout: 5000 # 5秒
# 安全配置
app:
security:
require-login-for-query: false # 是否要求登录才能查询
编辑 web/.env.development:
VITE_API_BASE_URL=http://localhost:8080
HomeNexus支持完全通过Docker部署,并且可以灵活配置数据源。
使用H2数据库(默认):
docker-compose up -d
使用其他数据库:
# 1. 复制环境变量模板
cp .env.example .env
# 2. 编辑.env文件,选择数据库配置
nano .env
# 3. 启动服务
docker-compose up -d
所有支持的环境变量(详见 .env.example):
| 环境变量 | 默认值 | 说明 |
|---|---|---|
SPRING_DATASOURCE_URL | jdbc:h2:./data/homenexus | 数据库连接URL |
SPRING_DATASOURCE_DRIVER_CLASS_NAME | org.h2.Driver | 数据库驱动类名 |
SPRING_DATASOURCE_USERNAME | sa | 数据库用户名 |
SPRING_DATASOURCE_PASSWORD | (空) | 数据库密码 |
数据库示例配置:
H2 (默认):
SPRING_DATASOURCE_URL=jdbc:h2:./data/homenexus
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver
SPRING_DATASOURCE_USERNAME=sa
SPRING_DATASOURCE_PASSWORD=
MySQL:
SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/homenexus?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
SPRING_DATASOURCE_USERNAME=homenexus
SPRING_DATASOURCE_PASSWORD=homenexus_password
PostgreSQL:
SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/homenexus
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
SPRING_DATASOURCE_USERNAME=homenexus
SPRING_DATASOURCE_PASSWORD=homenexus_password
SQLite:
SPRING_DATASOURCE_URL=jdbc:sqlite:./data/homenexus.db
SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.sqlite.JDBC
SPRING_DATASOURCE_USERNAME=
SPRING_DATASOURCE_PASSWORD=
| 环境变量 | 默认值 | 说明 |
|---|---|---|
SPRING_PROFILES_ACTIVE | prod | Spring Boot配置文件 (dev/prod) |
SERVER_PORT | 8080 | 后端服务端口 |
| 环境变量 | 默认值 | 说明 |
|---|---|---|
APP_HEALTH_CHECK_ENABLED | true | 是否启用自动健康检查 |
APP_HEALTH_CHECK_INTERVAL | 300000 | 健康检查间隔(毫秒,默认5分钟) |
APP_HEALTH_CHECK_TIMEOUT | 5000 | 健康检查超时时间(毫秒,默认5秒) |
| 环境变量 | 默认值 | 说明 |
|---|---|---|
APP_SECURITY_REQUIRE_LOGIN_FOR_QUERY | false | 查询接口是否需要登录认证 |
# 查看运行状态
docker-compose ps
# 查看日志
docker-compose logs -f homenexus
# 重启服务
docker-compose restart
# 停止服务
docker-compose stop
# 停止并删除容器
docker-compose down
# 停止并删除容器及数据卷(⚠️ 会删除数据)
docker-compose down -v
cd api
# 运行开发环境
mvn spring-boot:run
# 运行测试
mvn test
# 构建生产包
mvn clean package
cd web
# 安装依赖
npm install
# 开发服务器
npm run dev
# 类型检查
npm run type-check
# 代码格式化
npm run format
# 构建生产版本
npm run build
欢迎贡献代码!请遵循以下步骤:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)编辑 api/src/main/resources/application.yml,修改数据源配置即可。项目支持H2、MySQL、PostgreSQL、SQLite。
目前支持HTTP、HTTPS和TCP协议的健康检查,UDP协议检查计划在未来版本支持。
在 application.yml 中修改 app.health-check.interval 配置项(单位:毫秒)。
可以。设置 app.security.require-login-for-query: false 允许未登录用户查看服务列表,但修改操作仍需要管理员权限。
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
Made with ❤️ for home lab enthusiasts
Content type
Image
Digest
sha256:872748719…
Size
116.1 MB
Last updated
10 months ago
docker pull lonelyman0108/home-nexus