Files
core/bible-local/decisions/2026-03-16-local-deploy-platform-amd64.md
2026-03-16 16:03:54 +03:00

1.4 KiB

  • Date: 2026-03-16
  • Decision: deploy.sh local mode always builds, pulls, and runs git.mchus.pro/reanimator/core as linux/amd64, regardless of the operator host architecture.
  • Context: Developers run local deploy from Apple Silicon / ARM hosts, but the deployed container target is x86-compatible. Without an explicit runtime platform, Docker local pull/compose flow may select host architecture semantics and break the deploy.
  • Consequences:
    • Local deploy uses DOCKER_DEFAULT_PLATFORM=linux/amd64.
    • Local image pull is explicit: docker pull --platform linux/amd64.
    • deploy.sh provides a dedicated push only mode that builds linux/amd64 and publishes to Gitea Registry without any local or remote deploy step.
    • The project deployment contract is now "local mode emulates x86 deploy target", not "local mode follows host CPU architecture".
    • Local deploy resolves compose directory from DEPLOY_DIR, then falls back to repository-local infra/reanimator/ when /appdata/reanimator is absent on the operator workstation.
    • Reanimator compose configuration uses directory-local ./reanimator.env so the same compose file works both in /appdata/reanimator and in repository-local deploy fallback.
    • Deploy tag selection is explicit: compose image reference is parameterized by REANIMATOR_IMAGE and REANIMATOR_TAG, and deploy.sh exports them before docker compose pull/up.
  • Affected: deploy.sh