메인 설정 파일¶
OpsMini는 YAML 설정 파일을 사용합니다. 공식 원클릭 설치 후 기본 위치는 /data/opsmini/config.yaml이며, 소스 코드로 실행할 때는 기본적으로 configs/config.yaml을 사용합니다. 둘 다 -config 파라미터로 지정할 수 있습니다. 설정 파일이 존재하지 않으면 프로그램은 내장 기본값으로 시작합니다.
공식 배포에 포함된 예시는 이미 최소 실행 가능 설정으로 간소화되었으며, 나머지 런타임 설정(AI, Agent 토큰, 모니터링 인증 등)은 패널「설정」페이지로 이전되었습니다.
# OpsMini Agent 설정 파일
server:
host: "0.0.0.0" # 리스닝 주소
port: 8888 # 리스닝 포트
secret_entry: "" # 보안 진입 경로 프리픽스, 예: /opsmini_panel(비워 두면 비활성화)
database:
path: "opsmini.db" # SQLite 데이터 파일 경로
jwt:
access_ttl_seconds: 900 # access token 유효 기간(15분)
refresh_ttl_seconds: 604800 # refresh token 유효 기간(7일)
log:
level: error # 로그 레벨: info / warn / error
path: "" # 로그 파일 경로, 비워 두면 stdout으로만 출력(systemd journal)
설정 항목 설명¶
server¶
| 파라미터 | 설명 | 기본값 |
|---|---|---|
host |
리스닝 주소, 0.0.0.0은 모든 네트워크 인터페이스를 의미 |
0.0.0.0 |
port |
리스닝 포트 | 8888 |
secret_entry |
보안 진입 경로 프리픽스, 예: /opsmini_panel, 비워 두면 비활성화 |
비어 있음 |
secret_entry를 설정하면 패널과 모든 API가 프리픽스 경로 아래에 마운트됩니다(예: http://<host>:8888/opsmini_panel). 리버스 프록시와 함께 사용하면 실제 진입점을 숨겨 포트 스캔과 무차별 탐지를 방지할 수 있습니다.
database¶
| 파라미터 | 설명 | 기본값 |
|---|---|---|
path |
SQLite 데이터 파일 경로 | opsmini.db |
jwt¶
| 파라미터 | 설명 | 기본값 |
|---|---|---|
access_ttl_seconds |
access token 유효 기간(초) | 900 |
refresh_ttl_seconds |
refresh token 유효 기간(초) | 604800 |
JWT 서명 키는 더 이상 여기에서 설정하지 않습니다. 최초 시작 시 32바이트 랜덤 키를 자동 생성하여 데이터베이스에 영속화하며, 설정 파일에 기록하지도, 인터페이스에 표시하지도 않으므로 수동으로 관리할 필요가 없습니다.
log¶
| 파라미터 | 설명 | 기본값 |
|---|---|---|
level |
로그 레벨: info / warn / error |
error |
path |
로그 파일 경로, 비워 두면 stdout으로만 출력(systemd journal) | 비어 있음 |
로그 레벨은 출력 상세도를 제어합니다: error는 오류만 출력(프로덕션 권장, SQL 쿼리 로그 도배 방지); warn은 느린 쿼리와 경고를 추가 출력; info는 모든 로그를 출력(SQL 쿼리 포함, 문제 해결에 적합). 원클릭 설치 시 기본적으로 /data/opsmini/opsmini.log에 기록합니다.
선택적 설정 섹션¶
다음 필드는 설정 구조에서 여전히 지원되지만, 공식 예시에서는 생략되어 있습니다(내장 기본값 사용). 필요에 따라 명시적으로 선언할 수 있습니다.
agent(명령 화이트리스트)¶
agent:
allowed_commands: # Agent API 명령 화이트리스트 프리픽스
- ps
- df
- free
- uptime
- docker
- systemctl
- nginx
- who
| 파라미터 | 설명 | 기본값 |
|---|---|---|
allowed_commands |
/agent/v1/commands에서 실행할 수 있는 명령 프리픽스 화이트리스트 |
위 참조 |
agent.token은 폐기되었습니다. Agent API의 인증 토큰은 패널「설정 → API Token」페이지에서 생성·관리하며, 비워 두면 Agent API가 비활성화됩니다.
metrics(Prometheus 지표)¶
metrics:
enabled: true # /metrics 엔드포인트 활성화 여부
user: "" # Basic 인증 사용자 이름, 비어 있으면 인증 없음
password: "" # Basic 인증 비밀번호
| 파라미터 | 설명 | 기본값 |
|---|---|---|
enabled |
/metrics 엔드포인트 활성화 여부 |
true |
user |
HTTP Basic 인증 사용자 이름, 비어 있으면 인증 없음 | 비어 있음 |
password |
HTTP Basic 인증 비밀번호 | 비어 있음 |
인증 자격 증명 우선순위: 패널「설정 → 모니터링 내보내기」의 사용자 이름/비밀번호가 여기의
user/password보다 우선합니다. 사용자 이름이 비어 있으면 공개 액세스입니다.
패널 설정으로 이전된 설정¶
다음 설정 항목은 config.yaml에서 제외되어 패널「설정」페이지에서 통합 관리됩니다(SQLite에 저장, 런타임 즉시 적용):
| 원래 설정 | 현재 관리 위치 | 설명 |
|---|---|---|
jwt.secret |
자동 생성(관리 불필요) | 최초 시작 시 랜덤 키 생성 후 DB 저장 |
ai.* |
설정 → AI 대형 모델 연동 | 모델 / API Key / Base URL / 활성화 스위치 |
agent.token |
설정 → API Token | Agent API 액세스 토큰, 비워 두면 비활성화 |
metrics.user/password |
설정 → 모니터링 내보내기 | 런타임에 설정 파일 값 덮어쓰기 가능 |
자세한 내용은 패널 설정을 참조하세요.
환경 변수¶
| 변수 | 설명 |
|---|---|
OPSMINI_AI_KEY |
AI API Key, 최우선 순위(패널 설정과 설정 파일보다 높음, 키의 디스크 저장 방지) |
명령줄 파라미터¶
| 파라미터 | 설명 |
|---|---|
-config <path> |
설정 파일 경로 지정(원클릭 설치 기본값 /data/opsmini/config.yaml, 소스 실행 기본값 configs/config.yaml) |
-version |
버전 정보 출력 후 종료 |
-reset-mfa <username> |
지정 사용자의 MFA 바인딩 초기화(인증 코드 분실 시 사용), 완료 후 종료 |
-reset-pass <username> |
지정 사용자의 비밀번호를 랜덤 강력 비밀번호로 초기화하고 출력, 완료 후 종료 |
-reset-mfa/-reset-pass는 데이터베이스를 직접 조작하며 서비스를 시작하지 않습니다. 계정 분실 복구용입니다.