Files
obsidian/infra/compute/hermes.md

2.6 KiB

title, updated, tags, type, host_kind, location, provider, status, parent_host, incus_project, tailscale_ip, lan_ip, os, cpu_cores, ram_gb, disk_gb, monthly_cost_usd
title updated tags type host_kind location provider status parent_host incus_project tailscale_ip lan_ip os cpu_cores ram_gb disk_gb monthly_cost_usd
hermes 2026-06-09
infra
incus
nixos
hermes
agent
seoul
container container seoul self-hosted active incus-hp2 default null 10.100.2.77 NixOS 25.11 2 4 20 0

개요

incus-hp2 default 프로젝트의 NixOS incus 컨테이너. NousResearch Hermes Agent(self-improving 자율 AI 에이전트, persistent memory, 멀티채널 게이트웨이)를 호스팅한다. macmini(주 개발기)의 민감 데이터(SSH 키·Vault·nixos-infra)와 분리하기 위해 격리 컨테이너로 운영. NixOS 동류는 zlambda.

인프라

항목
호스트 incus-hp2 (default 프로젝트)
OS NixOS 25.11 (Xantusia), channel 기반
IP 10.100.2.77 (eth0, 10.100.2.0/24)
스펙 2 vCPU / 4GB RAM / 20GB disk
생성 2026-06-09, images:nixos/25.11

Hermes Agent

  • 버전: v0.16.0 (2026.6.5)
  • 설치: /usr/local/lib/hermes-agent, config /root/.hermes/, 런처 /usr/local/bin/hermes
  • 백엔드: OpenAI Codex OAuth (ChatGPT Plus 구독) — API 키 종량제가 아닌 구독 정액제. provider openai-codex, 모델 gpt-5.4
  • 인증 토큰: /root/.hermes/auth.json (device_code OAuth). 구독 계정/시크릿은 컨테이너 로컬, repo·Obsidian에 평문 없음
  • 검증: hermes -z '...' 단발 추론 정상 응답 확인 (2026-06-09)

NixOS 설정 (정본)

선언적 정본은 Gitea kaffa/nixos-infrahosts/hermes/configuration.nix. 적용 절차:

  1. repo의 hosts/hermes/configuration.nix를 컨테이너 /etc/nixos/configuration.nix로 push
  2. incus exec hp2:hermes -- nixos-rebuild switch

핵심 설정:

  • programs.nix-ld.enable = true — uv가 받는 prebuilt(standalone) Python·Node 바이너리가 NixOS에서 동작하게 함. Hermes 구동의 필수 전제.
  • nix.settings.sandbox = false — incus(비특권) 컨테이너는 user namespace 제약으로 nix 빌드 sandbox 불가
  • environment.extraInit/usr/local/bin을 PATH에 추가 (Hermes 런처 위치)
  • 의존성: git curl cacert nodejs_22 python311 uv ripgrep ffmpeg

⚠️ flake 미통합: nixos-infra flake는 nixpkgs-25.05 핀, hermes는 25.11 타깃이라 현재 channel 기반으로만 빌드. flake 통합(별도 25.11 input + nixosConfigurations.hermes)은 향후 정리 과제.

관련