admin/ 이 프론트만 있는 폴더였다. :9801 을 띄우는 코드는 solution/backend 안에 admin_main.py 로 얹혀 있었는데, 그러면 폴더만 봐서는 admin 에 백엔드가 있다는 걸 모른다. solution/backend/admin_main.py → admin/backend/main.py solution/backend/router/admin_router.py → admin/backend/app.py 도메인 코드는 여전히 복제하지 않는다 — `PYTHONPATH=/app/solution/backend` 한 줄이 두 폴더를 잇는다. admin/backend 에 있는 건 진입점 두 파일뿐이다. ## 이미지 빌드 컨텍스트를 레포 루트로 올렸다 진입점이 admin/ 에, 도메인 코드가 solution/ 에 있어서 한 이미지에 둘 다 들어와야 한다. 나누면 requirements 를 두 번 설치하게 된다. 컨텍스트가 넓어진 만큼 루트 .dockerignore 로 프론트·문서·테스트·시크릿을 잘라냈다(옛 solution/backend/.dockerignore 대체). 이미지 배치: /app/solution/backend ← 도메인 코드. api·worker 의 working_dir /app/admin/backend ← 내부 API 진입점. api-admin 의 working_dir 검증: api·api-admin 둘 다 healthy, 다섯 엔드포인트(9800·9801·3000·3002·80) 전부 200. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019uYhHQdssRubirPirrdJJC
32 lines
721 B
Plaintext
32 lines
721 B
Plaintext
# ★ 빌드 컨텍스트가 레포 루트다(solution/backend/Dockerfile 주석 참조).
|
|
# 컨텍스트가 넓어진 만큼 여기서 확실히 잘라내야 이미지가 붓지 않는다.
|
|
**/__pycache__/
|
|
*.pyc
|
|
**/.pytest_cache/
|
|
.git/
|
|
.venv/
|
|
**/.venv/
|
|
node_modules/
|
|
**/node_modules/
|
|
**/dist/
|
|
**/.vite/
|
|
|
|
# 프론트·문서는 백엔드 이미지에 들어갈 이유가 없다.
|
|
solution/frontend/
|
|
solution/site/
|
|
solution/shared/
|
|
admin/src/
|
|
docs/
|
|
nginx/
|
|
postgres-init/
|
|
**/*.md
|
|
solution/backend/tests/
|
|
solution/backend/loadtest/
|
|
|
|
# 시크릿 — 이미지에 굽지 않는다. Dockerfile 이 example 을 복사해 넣고 실값은 compose env 로 준다.
|
|
**/config.local.toml
|
|
**/config.test.toml
|
|
.env
|
|
.env.*
|
|
!.env.example
|