docs: Linux 컨테이너 개발 스택 및 구성 정책 명문화 #6

Open
opened 2026-07-29 10:25:13 +09:00 by lectom · 2 comments

Estimate Time: 2h

배경

Windows 중심으로 시작된 workspace를 Linux container 기반 개발 환경으로 전환할 때 필요한 추가 작업을 검증하고, 전체 개발 stack 및 구성 정책을 root README.md 상단에 명문화합니다.

현재 확인 사항

  • 현재 검증 host: Linux/WSL2 x86_64
  • Node.js v24.15.0, npm 11.12.1
  • root package.json은 Node.js >=24, npm >=11을 요구함
  • source와 문서의 tracked text file은 LF로 정규화되어 있음
  • package-lock.json에는 Linux glibc/musl용 native optional package가 포함됨
  • Dockerfile, .dockerignore, Compose/devcontainer, container CI 정의가 없음
  • Vite dev server가 127.0.0.1에 고정되어 port publish만으로 host 접근이 불가능함
  • Playwright가 기본적으로 /usr/bin/google-chrome을 요구하므로 browser와 system library를 image에 고정해야 함
  • 3D offline asset 도구의 ffmpeg, Blender, toktx는 core 개발 stack과 분리할 필요가 있음
  • 하위 apps/viewer-2d-sample/README.md에는 Windows drive path가 남아 있음

범위

  • root README.md 상단에 개발 stack 표 추가
  • Linux container 구성 정책 추가
  • 현재 Linux 검증 상태와 container 전환 blocker/follow-up 구분
  • 기존 docs/ 및 root README의 설명과 충돌하지 않는지 확인
  • typecheck, unit test, build, E2E로 현재 Linux 실행 상태 검증

완료 조건

  • README만 읽어도 runtime/build/test/browser/optional tool 경계와 version policy를 알 수 있음
  • 현재 Linux host 실행 가능성과 container image 재현 가능성을 혼동하지 않음
  • container 도입 전 해결할 구체적인 후속 작업이 명시됨
  • 기존 전체 검증 명령이 통과함

마일스톤

현재 저장소에 등록된 마일스톤이 없습니다. 이 문서 작업은 우선 독립 이슈로 진행하고, 실제 Dockerfile/CI 도입을 추진할 때 목표 Due Date가 있는 Linux Container Migration 마일스톤 생성을 제안합니다.

> **Estimate Time: 2h** ## 배경 Windows 중심으로 시작된 workspace를 Linux container 기반 개발 환경으로 전환할 때 필요한 추가 작업을 검증하고, 전체 개발 stack 및 구성 정책을 root `README.md` 상단에 명문화합니다. ## 현재 확인 사항 - 현재 검증 host: Linux/WSL2 x86_64 - Node.js `v24.15.0`, npm `11.12.1` - root `package.json`은 Node.js `>=24`, npm `>=11`을 요구함 - source와 문서의 tracked text file은 LF로 정규화되어 있음 - `package-lock.json`에는 Linux glibc/musl용 native optional package가 포함됨 - Dockerfile, `.dockerignore`, Compose/devcontainer, container CI 정의가 없음 - Vite dev server가 `127.0.0.1`에 고정되어 port publish만으로 host 접근이 불가능함 - Playwright가 기본적으로 `/usr/bin/google-chrome`을 요구하므로 browser와 system library를 image에 고정해야 함 - 3D offline asset 도구의 `ffmpeg`, Blender, `toktx`는 core 개발 stack과 분리할 필요가 있음 - 하위 `apps/viewer-2d-sample/README.md`에는 Windows drive path가 남아 있음 ## 범위 - [ ] root `README.md` 상단에 개발 stack 표 추가 - [ ] Linux container 구성 정책 추가 - [ ] 현재 Linux 검증 상태와 container 전환 blocker/follow-up 구분 - [ ] 기존 `docs/` 및 root README의 설명과 충돌하지 않는지 확인 - [ ] typecheck, unit test, build, E2E로 현재 Linux 실행 상태 검증 ## 완료 조건 - README만 읽어도 runtime/build/test/browser/optional tool 경계와 version policy를 알 수 있음 - 현재 Linux host 실행 가능성과 container image 재현 가능성을 혼동하지 않음 - container 도입 전 해결할 구체적인 후속 작업이 명시됨 - 기존 전체 검증 명령이 통과함 ## 마일스톤 현재 저장소에 등록된 마일스톤이 없습니다. 이 문서 작업은 우선 독립 이슈로 진행하고, 실제 Dockerfile/CI 도입을 추진할 때 목표 Due Date가 있는 `Linux Container Migration` 마일스톤 생성을 제안합니다.
Author

구현 방법

이번 변경은 runtime 기능 추가나 bug fix가 아닌 문서·운영 정책 명문화 작업입니다. 따라서 재현 실패를 만드는 RED test와 화면 snapshot은 적용 대상이 아닙니다.

다음 근거를 README 상단에 반영했습니다.

  1. 현재 Linux/WSL2에서 확인된 Node.js/npm 및 LF/path 상태
  2. root/app package.json, Vite, Vitest, Playwright 구성
  3. Dockerfile·Compose·container CI 부재
  4. loopback bind와 system Chrome 경로 전제
  5. native npm package의 glibc/musl 선택 필요성
  6. optional asset tool과 core build image의 분리 필요성

검증은 기존 문서 drift test를 포함한 unit suite부터 시작해 typecheck, production build, 전체 E2E 순으로 실행합니다. README 변경은 UI/runtime을 바꾸지 않으므로 신규 E2E snapshot은 만들지 않습니다.

## 구현 방법 이번 변경은 runtime 기능 추가나 bug fix가 아닌 문서·운영 정책 명문화 작업입니다. 따라서 재현 실패를 만드는 RED test와 화면 snapshot은 적용 대상이 아닙니다. 다음 근거를 README 상단에 반영했습니다. 1. 현재 Linux/WSL2에서 확인된 Node.js/npm 및 LF/path 상태 2. root/app `package.json`, Vite, Vitest, Playwright 구성 3. Dockerfile·Compose·container CI 부재 4. loopback bind와 system Chrome 경로 전제 5. native npm package의 glibc/musl 선택 필요성 6. optional asset tool과 core build image의 분리 필요성 검증은 기존 문서 drift test를 포함한 unit suite부터 시작해 typecheck, production build, 전체 E2E 순으로 실행합니다. README 변경은 UI/runtime을 바꾸지 않으므로 신규 E2E snapshot은 만들지 않습니다.
Author

README 추가 반영

요청에 따라 code test는 뒤로 미루고 문서 반영을 우선했습니다.

  • 개발 stack 및 Linux container 구성 정책을 README 상단에 추가
  • 현재 재검증 결과를 unit 6개, workspace typecheck, production build 통과로 명시
  • 현재 E2E 재실행은 보류 상태로 명시
  • package-lock.json의 MPL-2.0 entry를 재산출해 13개임을 확인
  • web-ifc@0.0.77 1개와 Lightning CSS 1.33.0 계열 12개를 전체 npm license 집계 하위에 전부 나열
  • 각 entry에 공식 source repository 링크와 runtime/dev/optional platform 범위를 기록
  • Lightning CSS 12 entry가 1개 source tree의 platform별 배포 package라는 점을 구분
  • web-ifc@0.0.77 package metadata에 exact gitHead가 없으므로 외부 배포 전 source commit/archive 고정이 필요함을 기록

문서 대조 결과: MPL-2.0 lockfile entry 13개, README 누락 0개입니다.

이슈는 E2E 재검증과 최종 검토가 남아 있어 open 유지합니다.

## README 추가 반영 요청에 따라 code test는 뒤로 미루고 문서 반영을 우선했습니다. - 개발 stack 및 Linux container 구성 정책을 README 상단에 추가 - 현재 재검증 결과를 `unit 6개`, workspace typecheck, production build 통과로 명시 - 현재 E2E 재실행은 보류 상태로 명시 - `package-lock.json`의 MPL-2.0 entry를 재산출해 13개임을 확인 - `web-ifc@0.0.77` 1개와 Lightning CSS `1.33.0` 계열 12개를 `전체 npm license 집계` 하위에 전부 나열 - 각 entry에 공식 source repository 링크와 runtime/dev/optional platform 범위를 기록 - Lightning CSS 12 entry가 1개 source tree의 platform별 배포 package라는 점을 구분 - `web-ifc@0.0.77` package metadata에 exact `gitHead`가 없으므로 외부 배포 전 source commit/archive 고정이 필요함을 기록 문서 대조 결과: MPL-2.0 lockfile entry 13개, README 누락 0개입니다. 이슈는 E2E 재검증과 최종 검토가 남아 있어 **open 유지**합니다.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cyhan/dwg-dxf-viewer-sample#6