Goal
Package fatal-guard as a Docker image for portable, reproducible crash capture.
Context
fatal-guard works as a Node.js package but requires Node.js installed. Docker makes it:
- Portable across environments (CI, server, edge)
- Reproducible (pinned Node version, Alpine base)
- Easy to integrate into existing Docker-based workflows
Scope
- Create
packages/fatal-guard/Dockerfile:
- Multi-stage build (build + runtime)
- Alpine base for minimal image size
- Non-root user for security
- Health check endpoint
- Add
docker-compose.yml for local testing
- Test:
docker run fatal-guard -- node app.js captures crash
- CI: build + push on tag (
.github/workflows/fatal-guard-publish.yml)
- Document in
packages/fatal-guard/README.md
Deliverable
docker build succeeds (<50MB image)
docker run captures crash and outputs tombstone
- CI builds and pushes on v* tag
- README documents Docker usage
Labels
ready, agent-friendly, zero-bounty
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #1016 either in the PR description or in a PR's comment.
🪙 Also, everyone can tip any user commenting /tip 20 @Ikalus1988 (replace 20 with the amount, and @Ikalus1988 with the user to tip).
📖 If you want to learn more, check out our documentation.
Goal
Package fatal-guard as a Docker image for portable, reproducible crash capture.
Context
fatal-guard works as a Node.js package but requires Node.js installed. Docker makes it:
Scope
packages/fatal-guard/Dockerfile:docker-compose.ymlfor local testingdocker run fatal-guard -- node app.jscaptures crash.github/workflows/fatal-guard-publish.yml)packages/fatal-guard/README.mdDeliverable
docker buildsucceeds (<50MB image)docker runcaptures crash and outputs tombstoneLabels
ready, agent-friendly, zero-bounty
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100(replace100with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/tryto let everyone know!🙌 And when they open the PR, they can comment
/claim #1016either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @Ikalus1988(replace20with the amount, and@Ikalus1988with the user to tip).📖 If you want to learn more, check out our documentation.