Airsc miễn phí cho tất cả. Nếu nó giúp bạn, hãy ủng hộ $2–$20.

Ủng hộ
PluginCẩn thậnKết nối & tự động hoáCần cài đặt chút

claude-homelab

jmagar · jmagar/claude-homelab

Một plugin toàn diện cùng bộ tác nhân, lệnh và kỹ năng cho Claude Code để quản lý các dịch vụ homelab như tự động hóa media và giám sát cơ sở hạ tầng.

Comprehensive Agents, Commands, Hooks, and Skills for homelab service management - media automation, infrastructure monitoring, document management, and more

81 sao10Giấy phép: MITCập nhật 18 ngày trước0 lượt mở

Xem trước

▍

Bạn có thể làm gì với nó

  • Tự động hóa các tác vụ quản lý media trong homelab của bạn bằng Claude Code.
  • Giám sát cơ sở hạ tầng homelab và nhận cảnh báo trực tiếp thông qua các tác nhân Claude Code.
  • Tích hợp các dịch vụ homelab khác nhau bằng cách sử dụng các kỹ năng và lệnh dựng sẵn trong Claude Code.

Kiểm tra an toàn

Cẩn thận

Dùng được, nhưng nên đọc ghi chú trước.

  • ●Trình cài đặt tải script từ xa và chạy thẳng bằng shell.scripts/install.sh

Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.

Trích từ README

Claude Homelab

Current release: 1.4.0.

Homelab plugin hub for Claude Code, Codex, and Gemini. This repository is the source of truth for the homelab-core plugin, bundled skill-only integrations, agents, commands, and shared credential bootstrapping.

Overview

claude-homelab serves three roles at once:

  • The homelab-core plugin published through the Claude marketplace
  • The canonical mono-repo for 16 bundled skill-only service integrations
  • The source for Codex and Gemini extension manifests that mirror the same workflow surface

The repo root is the plugin root. Do not edit generated copies in ~/.claude/ or ~/.claude/plugins/cache/ directly.

Installation

Claude marketplace

/plugin marketplace add jmagar/claude-homelab
/plugin install homelab-core @jmagar-claude-homelab

After install, Claude Code downloads the plugin into ~/.claude/plugins/cache/. No symlinks are created on this path.

Bash / symlink install

curl -sSL https://raw.githubusercontent.com/jmagar/claude-homelab/main/scripts/install.sh | bash

Or, if you already have the repo cloned:

./scripts/install.sh

The installer:

  1. Checks prerequisites (git, jq, curl)
  2. Clones the repo to ~/claude-homelab (or pulls if it exists)
  3. Runs setup-creds.sh — creates ~/.claude-homelab/.env from .env.example with chmod 600
  4. Runs setup-symlinks.sh — symlinks skills, agents, and commands into ~/.claude/
  5. Runs verify.sh — confirms every symlink and required file is in place
  6. Prints next steps

Credential Model

All credentials for every service live in a single file:

~/.claude-homelab/.env

This file is created from .env.example at install time and is never committed. Set it up interactively after install:

# Interactive wizard (preferred)
# Open Claude Code and run:
/homelab-core:setup

# Or configure manually
$EDITOR ~/.claude-homelab/.env

Security requirements:

  • ~/.claude-homelab/.env must have chmod 600 (owner read/write only)
  • Never commit .env — it is gitignored
  • Never log credentials, even in debug mode
  • Use .env.example as the template (tracked in git, placeholder values only)

All service scripts load credentials via scripts/load-env.sh:

source "${CLAUDE_PLUGIN_ROOT:-$HOME/claude-homelab}/scripts/load-env.sh"
load_env_file || exit 1
validate_env_vars "SERVICE_URL" "SERVICE_API_KEY"

Environment Variable Reference

Variables are grouped by service. Copy .env.example to ~/.claude-homelab/.env and replace placeholder values.

Media

VariableRequiredDescription
PLEX_URLyesPlex server base URL
PLEX_TOKENyesPlex authentication token
OVERSEERR_URLyesOverseerr base URL (skill)
OVERSEERR_API_KEYyesOverseerr API key (skill)
RADARR_URLyesRadarr base URL
RADARR_API_KEYyesRadarr API key
RADARR_DEFAULT_QUALITY_PROFILEnoDefault quality profile ID (default: 1)
SONARR_URLyesSonarr base URL
SONARR_API_KEYyesSonarr API key
SONARR_DEFAULT_QUALITY_PROFILEnoDefault quality profile ID (default: 1)
PROWLARR_URLyesProwlarr base URL
PROWLARR_API_KEYyesProwlarr API key
TAUTULLI_URLyesTautulli base URL
TAUTULLI_API_KEYyesTautulli API key

Downloads

VariableRequiredDescription
SABNZBD_URLyesSABnzbd base URL
SABNZBD_API_KEYyesSABnzbd API key
QBITTORRENT_URLyesqBittorrent WebUI URL
QBITTORRENT_USERNAMEyesqBittorrent username
QBITTORRENT_PASSWORDyesqBittorrent password

Infrastructure

VariableRequiredDescription
UNRAID_SERVER1_NAMEyesDisplay name for first Unraid server
UNRAID_SERVER1_URLyesUnraid GraphQL endpoint (skill)
UNRAID_SERVER1_API_KEYyesUnraid API key (skill)
UNRAID_SERVER2_NAMEnoDisplay name for second Unraid server
UNRAID_SERVER2_URLnoSecond Unraid GraphQL endpoint
UNRAID_SERVER2_API_KEYnoSecond Unraid API key
UNIFI_URLyesUniFi controller URL (skill)
UNIFI_USERNAMEyesUniFi username
UNIFI_PASSWORDyesUniFi password
UNIFI_SITEnoUniFi site name (default: default)
TAILSCALE_API_KEYyesTailscale API key
TAILSCALE_TAILNETyesTailscale tailnet name or -
ZFS_HOSTyesHost where ZFS commands run
SWAG_HOSTyesSWAG reverse proxy host
SWAG_CONTAINER_NAMEnoSWAG container name (default: swag)
SWAG_APPDATA_PATHnoSWAG appdata path
SWAG_COMPOSE_PATHnoSWAG compose file path

Utilities and Document Management

VariableRequiredDescription
LINKDING_URLyesLinkding bookmark manager URL
LINKDING_API_KEYyesLinkding API token
MEMOS_URLyesMemos server URL
MEMOS_API_TOKENyesMemos API token
BYTESTASH_URLyesByteStash snippet manager URL
BYTESTASH_API_KEYyesByteStash API key
PAPERLESS_URLyesPaperless-ngx base URL
PAPERLESS_API_TOKENyesPaperless-ngx API token
RADICALE_URLyesRadicale CalDAV/CardDAV URL
RADICALE_USERNAMEyesRadicale username
RADICALE_PASSWORDyesRadicale password
GOTIFY_URLyesGotify push notification URL (skill)
GOTIFY_TOKENyesGotify app token (skill)

Research and Dev Tools

VariableRequiredDescription
NOTEBOOKLM_COOKIEyesNotebookLM session cookie
NOTEBOOKLM_AUTH_JSONnoFull auth JSON blob (alternative to cookie)
NOTEBOOKLM_LOG_LEVELnoLog verbosity (default: INFO)
GITHUB_TOKENyesGitHub personal access token (gh-address-comments)
GLANCES_URLnoGlances web interface URL
GLANCES_USERNAMEnoGlances username (if auth enabl
Xem mã nguồn trên GitHub