Skip to content

feat: add 37signals Once platform compatibility#37

Merged
markhallen merged 3 commits intomainfrom
feat/once-compatibility
Mar 28, 2026
Merged

feat: add 37signals Once platform compatibility#37
markhallen merged 3 commits intomainfrom
feat/once-compatibility

Conversation

@markhallen
Copy link
Copy Markdown
Owner

@markhallen markhallen commented Mar 28, 2026

Summary

  • Add Once platform compatibility per the Once README requirements
  • Log directory uses /storage/log when Once volume is mounted, falls back to log/ otherwise
  • Puma workers respect Once's NUM_CPUS env var (via WEB_CONCURRENCYNUM_CPUS → default 2)
  • No-op backup/restore hooks in once/hooks/ (app is stateless)
  • Dockerfile updated with /storage setup and hook installation
  • Deployment docs at docs/ONCE.md

All changes are non-breaking for existing Docker/Kamal deployments.

Closes #35

Test plan

  • bundle exec rake ci passes
  • docker build . succeeds
  • Verify hooks are executable in container (docker run --rm slack-github-threads ls -la /hooks/)
  • Verify /storage/log fallback works without Once volume

🤖 Generated with Claude Code

markhallen and others added 3 commits March 28, 2026 13:12
- Add /storage/log support for Once persistent volume (falls back to
  log/ for non-Once deployments)
- Use NUM_CPUS env var from Once for Puma worker count
- Add no-op backup/restore hooks (app is stateless)
- Update Dockerfile with /storage and hook setup
- Add Once deployment documentation

Closes #35

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a docker job to the release workflow that builds and pushes to
ghcr.io on version tags. Tags images with version and latest.
Update Once docs with the GHCR image path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@markhallen markhallen merged commit 27ae2bd into main Mar 28, 2026
9 checks passed
@markhallen markhallen deleted the feat/once-compatibility branch March 28, 2026 20:14
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.

Add 37signals Once compatibility support

1 participant