Web 설정
EveryUp Web은 대시보드이자 API 서버입니다. 모니터링 이력을 저장하고, 사용자를 관리하며, Docker Collector 데이터와 OTLP 데이터를 받고, 설정한 알림 규칙에 따라 알림을 보냅니다.
설치
저장소를 복제하지 않고 Compose 파일만 받아 실행할 수 있습니다.
mkdir everyup && cd everyup
curl -O \
https://raw.githubusercontent.com/ai-turn/everyup/main/web/docker-compose.yml
docker compose up -d브라우저에서 http://<대시보드 서버 IP>:3001(같은 서버라면 http://localhost:3001)을 열고 첫 관리자 계정을 만드세요. 이 Compose 파일은 Web만 실행합니다. 모니터링할 Docker 호스트에는 Quick Start의 안내대로 Docker Collector를 설치하세요.
환경변수
기본 구성은 환경변수 없이 동작합니다. 아래 변수는 운영 배포, 네트워크, 자동화에 필요할 때 지정합니다. 우선순위는 환경변수 > config.json > 기본값입니다.
설정하는 방법
Quick Start의 Compose 파일은 EVERYUP_PUBLIC_URL만 컨테이너에 넘깁니다. 다른 변수는 docker-compose.yml의 environment:에 추가한 뒤 docker compose up -d로 컨테이너를 다시 만드세요.
services:
everyup:
environment:
EVERYUP_PUBLIC_URL: ${EVERYUP_PUBLIC_URL:-}
EVERYUP_ENCRYPTION_KEY: ${EVERYUP_ENCRYPTION_KEY}
EVERYUP_RETENTION_LOGS: 7d비밀값은 같은 디렉터리의 .env에 두고 ${…}로 참조하면 Compose 파일에 남지 않습니다.
# .env
EVERYUP_ENCRYPTION_KEY=<openssl rand -hex 32 출력값>서버
EVERYUP_PUBLIC_URL
사용자와 모니터링 대상 서버가 Web에 접속하는 외부 주소. Docker 설치 명령, 직접 OTLP 연결, 인프라 Collector 설정에 사용합니다. 자격증명·쿼리·fragment가 없는 절대 http(s) 주소여야 합니다EVERYUP_SERVER_HOST· 기본값0.0.0.0
바인딩 주소EVERYUP_SERVER_PORT· 기본값3001
대시보드·API 포트EVERYUP_SERVER_MODE· 기본값productiondevelopment로 설정하면 상세 에러와 스택 트레이스를 반환합니다EVERYUP_SERVER_ALLOWORIGINS
CORS 허용 origin. 프론트엔드를 다른 도메인에서 제공할 때 지정합니다(예:https://app.example.com)EVERYUP_DATABASE_PATH· 기본값./data/monitoring.db
SQLite 파일 경로. Docker 이미지는/app/data를 보존합니다
보안과 계정
EVERYUP_ENCRYPTION_KEY· 기본값 자동 생성
secret(Docker Collector API Key, 알림 채널)을 암호화하는 64자 hex(32바이트) AES 키. 운영 환경에서는 지정하세요. 지정하지 않으면 키를 생성해 데이터 디렉터리에 저장하므로, DB만 복원하면 secret을 풀 수 없습니다 (백업·복원)EVERYUP_ADMIN_USERNAME
시작할 때 설정 화면 없이 이 이름으로 관리자 계정을 만듭니다(headless 프로비저닝). 이미 있는 계정이면 시작할 때마다 비밀번호를EVERYUP_ADMIN_PASSWORD값으로 다시 설정합니다EVERYUP_ADMIN_PASSWORDEVERYUP_ADMIN_USERNAME과 함께 필요합니다.production모드(기본값)에서는 8자 미만이거나admin·password·changeme이면 Web이 시작되지 않습니다
보존 기간
값의 형식은 변수 이름에 따라 다릅니다. 이름이 DAYS로 끝나는 변수는 일 수를 정수로 받고(14), 나머지 세 변수는 7d, 12h, 30m처럼 단위를 붙여 받습니다. 단위를 생략하면 일로 해석합니다.
EVERYUP_RETENTION_METRICS· 기본값7d
health check 메트릭EVERYUP_RETENTION_LOGS· 기본값3d
로그EVERYUP_RETENTION_SYSTEMMETRICS· 기본값7d
호스트 메트릭EVERYUP_RETENTION_APIREQUESTSDAYS· 기본값14
API 요청(일)EVERYUP_RETENTION_SPANSDAYS· 기본값7
트레이스(일)EVERYUP_RETENTION_BODYCAPTUREDAYS· 기본값7
캡처한 요청/응답 바디와 바디 열람 audit 기록(일). 기간이 지나면 바디만 지우고 트레이스는 남깁니다EVERYUP_RETENTION_OTELMETRICSDAYS· 기본값7
OTLP 메트릭(일)
알림
EVERYUP_ALERTS_CONSECUTIVEFAILURES· 기본값3
서비스를 down으로 표시하기 전 연속 실패 횟수EVERYUP_ALERTS_LOGALERTCOOLDOWN· 기본값5
같은 로그 알림을 다시 보내기까지의 최소 간격(분)
Web 호스트 메트릭
Web이 실행 중인 호스트 자체의 메트릭 수집 설정입니다. 다른 서버의 자원은 Docker Collector나 직접 연결한 표준 OpenTelemetry Collector로 수집합니다.
EVERYUP_SYSTEM_ENABLED· 기본값true
수집 여부EVERYUP_SYSTEM_COLLECTINTERVAL· 기본값5
수집 주기(초). 환경 설정 화면에서도 바꿀 수 있습니다EVERYUP_SYSTEM_STOREINTERVAL· 기본값60
저장 주기(초)
API 개요
기본 prefix는 /api/v1입니다.
| 영역 | 예시 |
|---|---|
| Health·인증 | GET /health, POST /auth/login, GET /auth/me |
| 모니터링 | GET /services, GET /hosts, GET /dashboard/timeline |
| 로그·트레이스 | GET /logs, POST /otlp/v1/logs, POST /otlp/v1/traces |
| 알림 | GET /notifications, GET /alert-rules |
Docker Collector 동기화 (/agents 호환 API) | POST /agents/enroll, POST /agents/:agentId/services, POST /agents/:agentId/events, POST /agents/:agentId/metrics |
| Docker 서비스 상세 | GET /agents/services/all, GET /agents/:agentId/services/:key/history, GET /agents/:agentId/services/:key/uptime, GET /agents/:agentId/services/:key/logs, GET /agents/:agentId/services/:key/requests |
Docker Collector의 동기화와 OTLP 전송에는 Docker 환경마다 발급되는 API Key를 사용합니다. 키는 Docker 연결로 환경을 만들 때 발급되고, 설치기가 대상 서버에 직접 전달합니다. 수동으로 설치할 때는 해당 Docker 환경을 열고 API Key를 눌러 확인하세요. 이 키는 Collector가 보관하며, 모니터링 대상 앱에 이 Collector 키를 설정하지 마세요.
직접 연결한 앱은 해당 서비스의 API Key를 사용합니다. Docker 탐색 없이 Collector 게이트웨이로 보내는 앱은 서비스별 bearer 토큰을 사용합니다.
