Skip to content

2026-08-25 검증 기록 ​

DB-less first-run setup browser 확인 ​

DATABASE_URL과 DIRECTORY_SERVICE_URL을 제거하고 DocumentLibrary를 PORT=3112, development mode로 실행했다. /setup 접근 시 일반 포털이나 로그인 페이지 대신 first-run setup wizard가 표시되었다.

화면에는 다음 실제 controls가 표시되었다.

영역확인 결과
MySQL 연결password type의 DATABASE_URL 입력 필드와 MySQL/MariaDB만 지원한다는 안내가 표시됨
Identity단독 관리와 DirectoryService 선택 버튼이 표시됨
Local admin단독 모드에서 아이디·표시명·12자 이상 비밀번호 입력이 표시되고 scrypt hash만 저장한다고 안내됨
Optional serviceFileStore URL, UiCenter URL을 선택 입력으로 표시함
설치 작업연결·입력 검증과 validation 이후 활성화되는 schema 초기화 및 설치 완료 action을 표시함

이 검증은 실제 DB migration 또는 credential 제출을 수행하지 않았으며, production 환경 secret 변경도 수행하지 않았다.

실제 MySQL setup 및 local login end-to-end 확인 ​

로컬 전용 ephemeral MariaDB database에 setup API를 실행해 schema migration과 local admin provisioning을 검증했다. 첫 실행에서는 기존 migration에 포함된 64자 초과 foreign-key constraint identifier가 MariaDB에서 거부되는 문제가 발견되었고, setup runner에서 긴 constraint 이름을 SHA-1 suffix로 결정적으로 축약하도록 수정한 뒤 깨끗한 test database에서 재실행했다.

검증 항목결과
setup validationMySQL/MariaDB 연결과 LOCAL identity, 선택 FileStore URL 검증 성공
setup installHTTP 201, 10개 migration 적용 성공
schematest database에 14개 table 생성 확인
초기 관리자managed_users admin·active flag 및 scrypt hash 저장 확인
설치 설정portal_installation_config에 local identity와 FileStore URL 저장 확인
local auth APIsetup 생성 관리자 login 및 /api/auth/me 모두 HTTP 200
browser 전환setup 완료 후 /login에서 LOCAL IDENTITY 단독 관리자 로그인 안내 표시 확인

모든 database와 account는 로컬 검증용 임시 자원이며, production DB·provider 환경변수·외부 secret은 변경하지 않았다.

브라우저 재확인 결과 /login은 LOCAL IDENTITY를 표시하고 관리자 아이디·비밀번호 form 및 단독 관리자 로그인 action을 제공했다. DB-less setup 화면은 더 이상 표시되지 않았으며, setup guard가 설치 완료 상태를 정상적으로 인식했다.

추가 browser 검증에서 setup wizard가 생성한 검증용 local admin으로 로그인한 뒤, root portal의 공지사항 화면과 관리자 메뉴가 정상적으로 표시되는 것을 확인했다. 이는 setup-generated scrypt credential, signed local session, normal portal guard 해제가 함께 동작함을 확인한다.

관리자 화면 browser 검증에서 선택 서비스 연결 상태 panel이 실제 setup DB configuration을 렌더링했다. 현재 identity는 단독 관리, DirectoryService와 UiCenter는 미연결, FileStore는 setup에서 입력한 localhost URL로 연결됨으로 표시되었다. 이 값은 DB URL·관리자 비밀번호 등 비밀 정보를 노출하지 않았다.

Visual setup wizard 검증 ​

DB 없는 production-style runtime에서 /setup을 browser로 확인했다. 좌측에는 저장소·사용자·연결의 3단계 진행 rail과 보안 안내가, 우측에는 현재 단계에 집중한 card-based 입력 화면과 현재 선택 요약이 표시됐다. 형식상 유효한 MySQL URL을 입력한 뒤 다음 단계를 선택하자 사용자 관리 화면으로 전환됐고, 단독 관리·DirectoryService 선택 cards 및 초기 관리자 입력 영역이 정상 렌더링됐다. 이 browser 검증에는 실제 database 설치 action을 수행하지 않았다.

운영 token이 설정된 runtime의 세 번째 단계에서도 확인했다. 화면에는 DOCUMENT_LIBRARY_SETUP_TOKEN과 동일한 값을 입력한다는 안내, 배포 플랫폼·Railway·온프레미스 environment secret 설정 및 restart 방법, local development에서는 token이 필요 없다는 조건, 설치 후 token의 remove/rotate 안내, password-type token input이 모두 표시됐다. 실제 설치 요청은 수행하지 않았다.