29fd340208da9a349ac6a43d895b9e7ecc88d276
terraform plan revealed proxmox_virtual_environment_container.pbs has disk drift (live 48G vs code 16G). A blanket apply would shrink it, so the hermes apply must be -targeted. Recorded in the plan. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Proxmox IaC
Terraform으로 관리하는 Proxmox 홈랩 인프라.
구조
| 파일 | 설명 |
|---|---|
provider.tf |
Proxmox 프로바이더 설정 |
variables.tf |
공통 변수 |
pbs.tf |
PBS LXC 컨테이너 정의 |
pbs-variables.tf |
PBS 관련 변수 |
hermes.tf |
Hermes Agent LXC 컨테이너 정의 (token-safe skeleton) |
hermes-variables.tf |
Hermes 관련 변수 |
scripts/hermes-bootstrap.sh |
Hermes 인-컨테이너 설치 스크립트 |
outputs.tf |
출력값 |
사용법
# 초기화
terraform init
# tfvars 파일 생성
cp terraform.tfvars.example terraform.tfvars
# terraform.tfvars에 실제 토큰 값 입력
# 변경사항 확인
terraform plan
# 적용
terraform apply
노드 정보
| 노드 | IP | 사양 |
|---|---|---|
| gihyeon | 192.168.50.87 | 5600G / 64GB |
| gihyeon2 | 192.168.50.2 | i3-7100U / 16GB |
SDN 대역
- gihyeon:
10.1.10.0/24 - gihyeon2:
10.1.20.0/24
Hermes Agent (LXC #118)
litellm(#117, 10.1.10.22:4000)을 LLM 게이트웨이로 쓰는 Nous Research Hermes Agent.
배포는 4단계 (bind mount·features는 API 토큰 불가 → 콘솔 pct set):
- 호스트 준비(node1 콘솔):
mkdir -p /mnt/pve/hdd/hermes /media/2tb/hermes && chown 100000:100000 /mnt/pve/hdd/hermes /media/2tb/hermes terraform apply(컨테이너 생성)- node1 콘솔:
pct set 118 -features nesting=1,keyctl=1 -mp0 /mnt/pve/hdd/hermes,mp=/data -mp1 /media/2tb/hermes,mp=/fast && pct reboot 118 - 스크립트를 LXC에 넣고 실행 — 호스트(node1)에서
pct push 118 scripts/hermes-bootstrap.sh /root/hermes-bootstrap.sh --perms 0755(또는 LXC 콘솔 편집기로 붙여넣기) → LXC 콘솔에서bash /root/hermes-bootstrap.sh→/opt/hermes-stack/.env채우고docker compose run --rm hermes setup→docker compose up -d
비밀값(litellm 키·봇 토큰)은 컨테이너의
/opt/hermes-stack/.env에만 두고 repo에 커밋하지 않는다. TODO: hermesmp0/mp1는 TF state에 없음 → 추후terraform import로 따라잡기.
Description
Languages
HCL
69.4%
Shell
30.6%