o2o-site-AEO/solution/frontend
Mina Choi fceadd68ce [feat] deploy,solution/frontend: 운영에서 dev 서버를 걷어낸다 — 정적 번들을 nginx 가 서빙
킹서버에 `vite dev` 가 떠 있었다. 요청마다 트랜스파일하고, 컨테이너 기동이 npm install
네트워크에 의존하고, /src 원본과 소스맵이 그대로 나간다. 발행물을 파는 사이트의
진입점이 dev 서버일 이유가 없다.

- nginx/Dockerfile 신규: @o2o/frontend 를 굽는 build 스테이지 + 번들을 담은 nginx.
  발행 사이트는 이미지에 안 넣는다 — 사이트가 늘 때마다 이미지를 다시 굽지 않으려고
  site-out 볼륨에서 읽는다.
- vite.config.ts: build.assetsDir='builder-assets'. 발행본과 같은 오리진이라 `/assets/`
  를 서로 뺏는다 — 안 가르면 빌더 JS·CSS 가 404 인데 화면은 떠서 원인이 안 보인다.
- site.conf: `/` 를 /srv/app 정적으로. index.html 은 no-cache — 번들 해시가 여기 박혀
  있어 캐시되면 재배포해도 옛 번들 주소를 계속 부른다. `/fonts/` 는 발행본 먼저 보고
  없으면 빌더로 떨어뜨린다(둘이 같은 경로를 각자 쓴다).
- compose: solution-frontend(dev 서버)를 profile dev 로 내리고, 굽기만 하는
  solution-prerender 를 기본으로 올린다. VITE_* 는 번들에 구워지므로 build args 다 —
  주소를 바꾸면 재빌드해야 한다.

docker compose config 통과
2026-09-01 11:46:32 +09:00
..
public 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
src [feat] deploy,backend,site: 킹서버 배포 + 설정을 최상위 .env 하나로 통합 2026-09-01 10:04:36 +09:00
.env.example [feat] deploy,backend,site: 킹서버 배포 + 설정을 최상위 .env 하나로 통합 2026-09-01 10:04:36 +09:00
components.json 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
eslint.config.js 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
index.html 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
orval.config.ts 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
package.json 구조: admin 을 backend/frontend 로 가른다 2026-08-31 16:22:29 +09:00
tsconfig.json 이름: solution/front → solution/frontend 2026-08-31 15:27:16 +09:00
vite.config.ts [feat] deploy,solution/frontend: 운영에서 dev 서버를 걷어낸다 — 정적 번들을 nginx 가 서빙 2026-09-01 11:46:32 +09:00