Skip to content

fix: improve Render deployment config for reliability#50

Merged
GeneralJerel merged 3 commits intomainfrom
fix/render-deployment
Mar 25, 2026
Merged

fix: improve Render deployment config for reliability#50
GeneralJerel merged 3 commits intomainfrom
fix/render-deployment

Conversation

@GeneralJerel
Copy link
Copy Markdown
Collaborator

Summary

  • Switch agent from pserv to web type (enables health checks via /ok)
  • Switch app from Docker to native Node runtime (simpler builds, Render manages process lifecycle)
  • Add auto-scaling (1–3 instances, 80% memory / 70% CPU targets) on both services
  • Add /api/health endpoint for app health checks
  • Pin NODE_VERSION=22, add SKIP_INSTALL_DEPS=true
  • Update fromService reference for new web type

Test plan

  • Deploy via Render Blueprint and verify both services start
  • Confirm /api/health returns 200 OK
  • Confirm agent /ok health check passes
  • Verify chat functionality works end-to-end

🤖 Generated with Claude Code

- Switch agent from pserv to web type (enables health checks)
- Switch app from Docker to native Node runtime
- Add auto-scaling (1-3 instances) on both services
- Add health check endpoints (agent /ok, app /api/health)
- Pin NODE_VERSION=22
- Update fromService reference for new web type
@GeneralJerel
Copy link
Copy Markdown
Collaborator Author

Review

Looks good! A few minor notes for awareness:

  1. --no-frozen-lockfile in the build command means the lockfile isn't enforced during builds, which can lead to non-reproducible deploys. Intentional?

  2. Scaling on starter plan — worth verifying Render's starter plan actually supports auto-scaling and doesn't silently ignore the config.

  3. docker/Dockerfile.app is no longer referenced in render.yaml — consider deleting it if it's not used for local dev.

Otherwise the changes are clean and well-structured. Agent being public is confirmed intentional.

GeneralJerel and others added 2 commits March 25, 2026 06:24
- Replace useState/useEffect mounted pattern with useSyncExternalStore
  for hydration-safe client detection
- Wrap setAgentState in useCallback to stabilize effect dependencies
- Replace ref-during-render with state+effect for pending_template capture
- Fix ConfirmChangesProps types (remove any, drop unused args prop)
- Add eslint-disable for intentionally scoped effect dependencies

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file depends on packages not in the project's package.json
(@tiptap/react, markdown-it, diff) and was not previously tracked.
Removing to fix CI build failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@GeneralJerel GeneralJerel merged commit a83a1ac into main Mar 25, 2026
10 checks passed
@GeneralJerel GeneralJerel deleted the fix/render-deployment branch March 25, 2026 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant