726d0c620e
Корневой Dockerfile переписан под две стадии: builder с full toolchain
(apt dev-headers, WeasyPrint в venv, pnpm install + lerna run build +
pnpm prune --prod --ignore-scripts) и runtime — slim node:22-slim
без gcc/dev-headers, только runtime-libs WeasyPrint + готовый /app.
Локально сжалось с 7.36GB до 2.95GB (-60%). Образы наследники
(dicoop/desktop / coopback / cooparser / notificator / notifications)
автоматом получат тонкий runtime через build-containers.yaml.
Безопасность для playbook'ов monocoop: их docker-compose.yaml собирает
сервисы из components/{controller,parser,desktop}/Dockerfile (не
корневого) и монтирует ./:/app — корневой mono-base туда вообще не
попадает.
.dockerignore — выкинул .git (962MB), blockchain-data/wallet-data,
_blago, coverage, *.log и т.п. Build-context теперь намного легче.
docker-compose.testnet.yml — локальный 3-сервисный smoke-стек:
ke-node (dicoop/blockchain_v5.1.1:dev) + ke-contracts (one-shot
copy из dicoop/contracts:dev в shared volume) + ke-bootstrap
(mono-base, node /app/components/boot/dist/index.cjs boot:remote).
Изолирован от dev-ноды mono-ai-4-node-1 через отдельную сеть и порты
8919/9907/8101.
В playbook'ах не применяется (там docker-compose.yaml, не .testnet.yml).
.gitignore — добавлен .env.testnet (содержит EOSIO_*KEY).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
42 lines
1014 B
Plaintext
42 lines
1014 B
Plaintext
# Не тащить в build-context — экономит время `docker build` (особенно
|
|
# на крупных репах с .git под 1GB) и не пачкает финальный образ.
|
|
node_modules
|
|
**/node_modules
|
|
dist
|
|
**/dist
|
|
.git
|
|
.github
|
|
.gitignore
|
|
.cursor
|
|
**/.DS_Store
|
|
|
|
# State от локальных runtime-сценариев (boot:remote / dev-нода / wallet)
|
|
**/blockchain-data
|
|
**/wallet-data
|
|
**/keosd-data
|
|
|
|
# CI/coverage/тестовые артефакты
|
|
coverage
|
|
**/coverage
|
|
.nyc_output
|
|
*.log
|
|
|
|
# BMad/blago workspace папки (не относятся к билду образа)
|
|
_blago
|
|
**/_blago
|
|
.bmad-core
|
|
.bmad-output
|
|
|
|
# Локальные секреты (на всякий случай — секреты должны идти через
|
|
# build-args / docker-compose environment, не через COPY)
|
|
.env
|
|
.env.*
|
|
!.env-example
|
|
**/.env
|
|
**/.env.*
|
|
!**/.env-example
|
|
|
|
# Артефакты других сервисов
|
|
components/desktop/.quasar
|
|
components/contracts/build
|