承接 evilstudio/homelab-assistant-tool 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

evilstudio/homelab-assistant-tool

最新稳定版本:v2.4.3

Composer 安装命令:

composer create-project evilstudio/homelab-assistant-tool

包简介

CLI Tool which can help with manage your homelab devices.

README 文档

README

Introduction

Homelab Assistant Tool is an application for homelab operations and automation. It combines a CLI interface with a Web UI for managing devices, UPS units, schedules, and operational logs.

For technical details, see Tech Stack.

✨ Key Features

  • 🔌 Device operations

    • Start, stop, check status, and SSH operations for managed devices (via CLI)
  • 🔋 UPS-aware behavior

    • UPS monitoring support and battery-aware automation logic
  • ⏰ Scheduling

    • Cron-based automation with schedule-to-device assignment
  • 🧾 Action logs

    • Unified action history for CLI, CRON, and WEB operations
    • Log filtering and cleanup tools
  • 🌐 Web UI

    • Management views for devices, UPS, schedules, and logs
    • Manual operational actions from the browser
  • 🔐 Authentication

    • simple mode (local username/password)
    • oidc mode (OIDC provider login)

📁 Project Structure

.
├── bin/             # CLI entrypoints and helper scripts
├── config/          # Symfony and app configuration
├── docs/            # Main technical documentation
├── migrations/      # Doctrine migrations
├── public/          # Web entrypoint and built assets
├── src/             # Application source code
│   ├── Command/         # CLI commands (setup, CRUD, runtime, users)
│   ├── Contract/        # Runtime contracts and enums
│   ├── Controller/      # Web controllers
│   ├── Entity/          # Doctrine entities
│   ├── EventSubscriber/ # Request/auth/log subscribers
│   ├── Factory/         # Runtime factories/adapters
│   ├── Helper/          # Configuration and helpers
│   ├── Repository/      # Doctrine repositories
│   ├── Runtime/         # Runtime models
│   └── Service/         # Application, runtime, auth, infrastructure services
├── templates/       # Twig templates (dashboard, devices, ups, schedules, logs, auth)
├── tests/           # Unit, integration, and functional test suites
└── var/             # Runtime data, cache, logs, SQLite files

🚀 Quick Start

You can run HAT in two ways.

Option 1: Docker only (without cloning the full repository)

1. Download docker-compose.yml, .env.example, and config/parameters.yaml

mkdir -p config var/data
curl -L -o docker-compose.yml https://raw.githubusercontent.com/evilstudio/homelab-assistant-tool/main/docker-compose.yml
curl -L -o .env https://raw.githubusercontent.com/evilstudio/homelab-assistant-tool/main/.env.example
curl -L -o config/parameters.yaml https://raw.githubusercontent.com/evilstudio/homelab-assistant-tool/main/config/parameters.yaml

2. Update .env and config/parameters.yaml

Set values for your environment (.env for app/auth settings and OIDC values when using HAT_AUTH_MODE=oidc, config/parameters.yaml for runtime settings).

3. Pull GHCR image

docker compose pull

4. Run initial setup commands

docker compose run --rm hat-app php bin/console hat:setup:configure
docker compose run --rm hat-app php bin/console hat:setup:db --init
docker compose run --rm hat-app php bin/console hat:user:create

hat:user:create is required only for simple auth mode.

5. Start container

docker compose up -d

6. Open application

Open: http://localhost:8080

Option 2: Clone full project (development/local workflow)

1. Clone repository

git clone https://github.com/evilstudio/homelab-assistant-tool.git
cd homelab-assistant-tool
composer install
cp .env.example .env

2. Update .env

Set values for your environment (application/auth settings, and OIDC values when using HAT_AUTH_MODE=oidc).

3. Run setup commands locally

php bin/console hat:setup:configure
php bin/console hat:setup:db --init
php bin/console hat:user:create # Required only for `simple` auth mode

4. Start an application with an GHCR image

docker compose pull
docker compose up -d

5. Or run development compose with local build and Xdebug

docker compose -f docker-compose.dev.yml up -d --build

For local non-docker CLI workflow (optional):

php bin/console list

💻 Commands Overview

Here is a list of commands available in HAT.

Command Description
hat:setup:configure Configure app technical settings.
hat:setup:db Initialize/migrate SQLite database.
hat:setup:init Run full setup flow.
hat:device:create/update/remove/list Manage devices.
hat:ups:create/update/remove/list Manage UPS entries.
hat:schedule:create/update/remove/list Manage schedules.
hat:device:check-status Check runtime status for a device.
hat:device:ssh Open SSH session to a device.
hat:device:start Start a device.
hat:device:stop Stop a device.
hat:cron:execute Execute scheduled tasks and maintenance.
hat:logs:list List action logs stored in DB.
hat:logs:cleanup Remove old/all action logs from DB.
hat:user:create Create local user for simple auth mode.
hat:user:remove Remove local user in simple auth mode.
hat:user:reset-password Reset local user password (simple mode).

🧭 Notes

  • Business data is stored in SQLite.
  • Integration/functional tests use separate SQLite DB (var/data/hat_test.sqlite).
  • Runtime settings are configured in config/parameters.yaml.
  • Web logs are written to var/log/web.log.

🧪 Testing & Quality

Quick Start:

# Run all tests (Xdebug off)
bin/phpunit

# Run with coverage report
bin/phpunit-coverage

📚 Documentation:

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-11-14

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固