Repository navigation
chore(deploy): add Render.com deployment configuration - #89
Conversation
- Add render.yaml blueprint for Render.com free-tier web service - Add scripts/render_entrypoint.sh to write GEE key from env var at startup - Add scripts/setup_render_secrets.sh to upload secrets via Render CLI - Update Dockerfile to copy scripts and use PORT env var for Render - Update docs/DEPLOYMENT.md with Render-first deployment instructions - Keep Fly.io instructions as an alternative for paid accounts
12be1b1 to
f044939
Compare
Goldokpa
left a comment
There was a problem hiding this comment.
The docker CI job is failing because of a conflict between .dockerignore and the Dockerfile. The other three checks (python, frontend, ci) pass. See the inline comment on the Dockerfile for the root cause and fix.
| COPY config/ ./config/ | ||
| COPY models/ ./models/ | ||
| COPY scripts/ ./scripts/ | ||
| RUN chmod +x scripts/*.sh |
There was a problem hiding this comment.
This is what's failing the docker CI job. The build dies here with:
buildx failed with: ERROR: failed to solve: process "/bin/sh -c chmod +x scripts/*.sh" did not complete successfully: exit code: 1
Root cause: .dockerignore contains scripts/*.sh, so no .sh files are in the build context. COPY scripts/ ./scripts/ brings in the directory without any shell scripts, then chmod +x scripts/*.sh matches nothing and exits 1.
This is also a runtime bug: the final CMD ["./scripts/render_entrypoint.sh"] would fail since that script is excluded by the same rule, even if the chmod line were removed.
Fix: remove (or narrow) the scripts/*.sh entry in .dockerignore so render_entrypoint.sh is included. If you want to keep ignoring the local-only setup scripts, ignore them by name instead (e.g. scripts/setup_*.sh) and let the entrypoint through.
Narrow `scripts/*.sh` to `scripts/setup_*.sh` so the local-only setup scripts stay excluded from the build context while scripts/render_entrypoint.sh is included. Fixes the docker CI job failing on `chmod +x scripts/*.sh` (exit 1) and the runtime CMD that runs the entrypoint.
* chore(deploy): add Render.com deployment configuration - Add render.yaml blueprint for Render.com free-tier web service - Add scripts/render_entrypoint.sh to write GEE key from env var at startup - Add scripts/setup_render_secrets.sh to upload secrets via Render CLI - Update Dockerfile to copy scripts and use PORT env var for Render - Update docs/DEPLOYMENT.md with Render-first deployment instructions - Keep Fly.io instructions as an alternative for paid accounts * fix(docker): stop ignoring render_entrypoint.sh in .dockerignore Narrow `scripts/*.sh` to `scripts/setup_*.sh` so the local-only setup scripts stay excluded from the build context while scripts/render_entrypoint.sh is included. Fixes the docker CI job failing on `chmod +x scripts/*.sh` (exit 1) and the runtime CMD that runs the entrypoint. --------- Co-authored-by: Gold okpa <Okpagold@gmail.com>
Summary
Adds Render.com as the primary deployment target for ClimateVision, since Fly.io requires active billing.
Changes
Why Render?
Post-merge steps