Geo-MLOps 는 설정 파일이 없어도 뜹니다. 개발하기 편하도록 서명 키와 비밀번호에 기본값이 들어 있기 때문입니다. 운영 설치에서 이 기본값을 그대로 두면 누구나 세션을 위조하거나 관리자로 로그인할 수 있습니다. /etc/geo-mlops/app.env 가 없거나 이름이 바뀌어도 Compose 는 조용히 기본값으로 띄우므로, "잘 뜬다" 는 안전하다는 뜻이 아닙니다. 설치 직후와 배포할 때마다 시스템 진단 화면으로 확인하세요.

반드시 바꿀 다섯 가지

설정 (GEO_MLOPS_ 뒤)기본값 그대로면조치
AUTH_SECRETCRITICAL: 세션 JWT 와 비밀번호 재설정 토큰을 누구나 위조할 수 있습니다openssl rand -hex 32 값으로 교체
EDGE_TOKEN_PEPPERCRITICAL: 엣지·MLflow·레지스트리 토큰 해시가 모두 이 값을 씁니다openssl rand -hex 32 값으로 교체 (AUTH_SECRET 과 다른 값)
RBAC_BOOTSTRAP_ADMIN_PASSWORDCRITICAL: 첫 관리자 비밀번호가 누구나 아는 값입니다강한 비밀번호로 바꾸거나, 첫 로그인 뒤 비밀번호를 바꾸고 이 값을 비움
ALERTMANAGER_WEBHOOK_TOKENWARNING: 경보 웹훅이 503 으로 닫혀 경보가 앱에 들어오지 않습니다(값을 넣어야 열림)난수로 설정하고 monitoring/alertmanager.yml 헤더에 같은 값
AUTH_COOKIE_SECURE기본 true. false 로 두면 WARNING. 세션 쿠키가 평문 HTTP 로도 오갑니다HTTPS 로 접속한다면 true 유지

값을 넣는 방법은 Docker Compose 로 설치app.env 예시를 보세요. 고친 뒤에는 앱을 다시 만들어야 읽힙니다.

docker compose -f /opt/geo-mlops/docker-compose.yml up -d app

부트스트랩 관리자 비밀번호

부트스트랩 관리자는 계정이 없을 때 한 번만 RBAC_BOOTSTRAP_ADMIN_PASSWORD 로 만들어집니다. 그 뒤로는 이 값을 바꿔도 계정 비밀번호가 바뀌지 않습니다. 그래서 권하는 순서는 이렇습니다.

  1. 첫 기동 전에 RBAC_BOOTSTRAP_ADMIN_PASSWORD 에 임시 비밀번호를 넣고 띄웁니다.
  2. 그 계정으로 로그인해 오른쪽 위 아바타 메뉴 → 계정 설정비밀번호 변경에서 진짜 비밀번호로 바꿉니다.
  3. app.env 에서 RBAC_BOOTSTRAP_ADMIN_PASSWORD= 로 비우고 앱을 다시 만듭니다. 이제 이 값은 아무 계정도 만들지 않고, 진단 경고도 사라집니다.

비밀번호를 잊었다면 서버에서 관리 CLI 로 새 관리자를 만들 수 있습니다.

docker exec -it geo-mlops-app ./run geo-mlops-admin user create [email protected] --admin
# --password 를 주지 않으면 무작위 비밀번호를 만들어 출력합니다

그 밖에 진단 화면이 보는 것

설정판정
RBAC_BOOTSTRAP_ROLE_PASSWORDWARNING역할별 데모 계정이 기본 비밀번호로 만들어집니다. 운영에서는 비워서 끕니다
CORS_ALLOW_ORIGINS*WARNING자격 증명(쿠키)과 와일드카드를 함께 쓰는 조합입니다. 웹 화면 주소를 명시하세요
MLFLOW_REQUIRE_AUTH=falseCRITICAL/mlflow 가 로그인 없이 열립니다. 기본값 true 를 유지하세요
MOCK_DATAOPS_ENABLED=trueWARNING개발용 가짜 DataOps 서버입니다. 운영에서는 끕니다(기본 꺼짐)

시스템 진단 화면으로 확인하기

전역 관리자 전역 관리자만 볼 수 있습니다. 설정값 자체는 화면에 나오지 않고 "기본값과 같은가" 만 나옵니다.

  1. 전역 관리자로 로그인해 오른쪽 위 시스템을 누르면 시스템 콘솔이 열립니다. 시스템 진단 카드에 "진단 주의 필요" 가 붙어 있으면 조치할 것이 있다는 뜻입니다.

    시스템 콘솔: 전역 관리자가 처음 보는 곳
  2. 시스템 진단을 엽니다. 맨 위 "배포 정보" 에서 지금 도는 백엔드·프론트엔드의 커밋을, "의존 컴포넌트" 에서 Postgres·오브젝트 저장소·Kubernetes·MLflow 등의 연결 상태를 봅니다.

    시스템 진단: 배포 정보·설정 위생·의존 컴포넌트
  3. "설정 위생" 에서 CRITICAL 이 하나도 남지 않을 때까지 위 표대로 고칩니다. 각 항목에 바꿀 환경변수 이름이 적혀 있습니다.

    설정 위생: 기본값 그대로인 서명 키·pepper·비밀번호가 CRITICAL 로 뜬다

위 그림은 기본값으로 띄운 설치의 모습입니다. 서명 키·pepper·관리자 비밀번호가 CRITICAL 로 뜨고, 이것들이 남아 있는 한 전체 판정은 "주의 필요" 에서 내려오지 않습니다. 연결이 모두 정상이어도 마찬가지입니다. 연결되는 것과 안전한 것은 다른 문제입니다.

다음: 첫 로그인과 초기 설정

2026-09-21 기준 플랫폼에 맞춰 작성했습니다.

© Geo-MLOps