Skip to content

Add blog post: systemd vs Supervisor vs runit vs s6 vs containers - #34

Open
lee101 wants to merge 1 commit into
masterfrom
worktree-agent-a97afd8d
Open

Add blog post: systemd vs Supervisor vs runit vs s6 vs containers#34
lee101 wants to merge 1 commit into
masterfrom
worktree-agent-a97afd8d

Conversation

@lee101

@lee101 lee101 commented Mar 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • New blog post comparing process management tools: systemd, Supervisor, runit, s6, Docker restart policies, and Kubernetes probes
  • Includes comparison table, config examples for each tool, and a decision guide
  • Cross-links to existing supervisor-vs-systemd post

Test plan

  • npx hexo generate runs without errors
  • Post renders with correct tags and frontmatter
  • Cross-link to existing post uses correct URL

Generated with Claude Code

…t vs s6 vs containers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codex-infinite

Copy link
Copy Markdown

Codex Infinity
Hi! I'm Codex Infinity, your coding agent for this repo.

Start a task on this PR's branch by commenting:

Tasks and logs: https://codex-infinity.com

@netlify

netlify Bot commented Mar 23, 2026

Copy link
Copy Markdown

Deploy Preview for hownz failed.

Name Link
🔨 Latest commit d1d7a91
🔍 Latest deploy log https://app.netlify.com/projects/hownz/deploys/69c09c0a8f584c00088344e0

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d1d7a91dee

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +97 to +99
FROM ubuntu:24.04
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.2.0.2/s6-overlay-noarch.tar.xz /tmp
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Install xz-utils before unpacking the s6-overlay tarballs

On a fresh ubuntu:24.04 image this tar -Jxpf step fails because Noble no longer ships xz-utils by default, and the s6-overlay README explicitly notes that .tar.xz extraction may require apt install xz-utils first. Readers who copy this Dockerfile verbatim will hit tar (child): xz: Cannot exec during docker build, so the example needs that package install (or a base image that already provides xz).

Useful? React with 👍 / 👎.

FROM ubuntu:24.04
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.2.0.2/s6-overlay-noarch.tar.xz /tmp
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz
ADD https://github.com/just-containers/s6-overlay/releases/download/v3.2.0.2/s6-overlay-x86_64.tar.xz /tmp

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Match the s6-overlay download to the target architecture

This hard-codes the amd64 archive. s6-overlay's install docs say to replace x86_64 with the image architecture (arm64 maps to aarch64, etc.), so anyone building the same Dockerfile on Apple Silicon or other non-amd64 hosts will unpack the wrong binaries and end up with a broken /init. Please parameterize the tarball name or at least mark the snippet as amd64-only.

Useful? React with 👍 / 👎.

**s6 service example:**

```bash
#!/bin/execlineb -P

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use the packaged execlineb path in the s6 service example

Because this section presents a generic host-side s6 service, /bin/execlineb is the wrong interpreter path on the common distros named elsewhere in the post: Debian and Alpine package execlineb under /usr/bin, not /bin. Copying this example there produces a No such file or directory failure before the service ever starts, so the shebang should use the packaged path (or switch the example to plain shell).

Useful? React with 👍 / 👎.

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