Skip to content

feat(keygen): pin Keygen CE web and worker images for Coolify - #1784

Merged
CREDO23 merged 1 commit into
mainfrom
feat/keygen-dockerfiles
Sep 15, 2026
Merged

CREDO23 merged 1 commit into
mainfrom
feat/keygen-dockerfiles

Conversation

@CREDO23

@CREDO23 CREDO23 commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Adds the two Dockerfiles Coolify deploys the self-hosted Keygen CE instance from.

web needs no command override — the base image already sets CMD ["web"] — but it is kept as a file so both processes stay pinned to the same tag in one reviewable place.

worker exists because Coolify's Docker Image resource has no field for a container command; it only exposes --entrypoint via Custom Docker Options. A two-line Dockerfile setting CMD ["worker"] is the smallest way to run Sidekiq from the same image.

Pinned to keygen/api:v1.7.2 rather than latest, so a redeploy cannot pull a new version and run its migrations against live license data. Upgrades bump both files together.

No behaviour change to anything currently deployed — these files are only read by the two new Coolify resources.

High-level PR Summary

This PR adds two minimal Dockerfiles to pin the Keygen CE deployment to version v1.7.2 for Coolify. The web Dockerfile adds health check configuration and explicit port exposure, while the worker Dockerfile overrides the command to run Sidekiq. Both files ensure the deployment uses a specific tagged version rather than latest, preventing unintended upgrades that could affect live license data.

⏱️ Estimated Review Time: 5-15 minutes

💡 Review Order Suggestion
Order File Path
1 docker/keygen/web/Dockerfile
2 docker/keygen/worker/Dockerfile

Need help? Join our Discord

Summary by CodeRabbit

  • New Features
    • Added container images for running the web application and background worker.
    • Web deployments now include a health check to verify service availability.
    • The web container exposes port 3000 for application access.
    • The worker container starts the background processing service by default.

Coolify has no field for a container command, so the worker needs a Dockerfile to set CMD. The web file keeps both processes pinned to the same tag in one place.
@vercel

vercel Bot commented Sep 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
surf-sense-frontend Building Building Preview Sep 15, 2026 4:44pm UTC

Request Review

@CREDO23
CREDO23 merged commit cd89a2f into main Sep 15, 2026
4 of 8 checks passed
@coderabbitai

coderabbitai Bot commented Sep 15, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 879ba0d7-1c79-4ce9-bf61-3956ce92ebaf

📥 Commits

Reviewing files that changed from the base of the PR and between c139e19 and 0154b8b.

📒 Files selected for processing (2)
  • docker/keygen/web/Dockerfile
  • docker/keygen/worker/Dockerfile

📝 Walkthrough

Walkthrough

The pull request adds Dockerfiles for Keygen web and worker containers. Both use keygen/api:v1.7.2. The web container exposes port 3000 and checks /v1/health. The worker container starts with the worker command.

Changes

Keygen containers

Layer / File(s) Summary
Container image definitions
docker/keygen/web/Dockerfile, docker/keygen/worker/Dockerfile
The web image exposes port 3000 and defines a wget health check for /v1/health. The worker image sets CMD ["worker"].

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Feature

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/keygen-dockerfiles

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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