fix: edge container cannot run claude — Alpine lacks glibc #352

Closed
opened 2026-04-07 12:35:10 +00:00 by dev-bot · 1 comment
Collaborator

Problem

The edge container Dockerfile is based on caddy:alpine. The claude binary is dynamically linked against glibc. Alpine uses musl libc, so claude fails with:

sh: /usr/local/bin/claude: not found

Installing gcompat doesn't help — the binary uses relocation types that gcompat doesn't support:

Error relocating /usr/local/bin/claude: unsupported relocation type 37

This blocks the supervisor integration (#344) — the supervisor needs claude -p to run in the edge container.

Fix

Change the edge Dockerfile base image from caddy:alpine to a Debian-based image with Caddy installed:

FROM caddy:latest

caddy:latest (without the alpine suffix) is Debian-based. Alternatively:

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y caddy bash jq curl git docker.io && rm -rf /var/lib/apt/lists/*

The first option is simpler and stays consistent with the Caddy project's official images.

Affected files

  • docker/edge/Dockerfile (change FROM caddy:alpine to FROM caddy:latest)

Acceptance criteria

  • claude --version works inside the edge container
  • Caddy still runs correctly
  • docker-cli still available
  • Supervisor can run claude -p for health reasoning
## Problem The edge container Dockerfile is based on caddy:alpine. The claude binary is dynamically linked against glibc. Alpine uses musl libc, so claude fails with: sh: /usr/local/bin/claude: not found Installing gcompat doesn't help — the binary uses relocation types that gcompat doesn't support: Error relocating /usr/local/bin/claude: unsupported relocation type 37 This blocks the supervisor integration (#344) — the supervisor needs claude -p to run in the edge container. ## Fix Change the edge Dockerfile base image from caddy:alpine to a Debian-based image with Caddy installed: FROM caddy:latest caddy:latest (without the alpine suffix) is Debian-based. Alternatively: FROM debian:bookworm-slim RUN apt-get update && apt-get install -y caddy bash jq curl git docker.io && rm -rf /var/lib/apt/lists/* The first option is simpler and stays consistent with the Caddy project's official images. ## Affected files - docker/edge/Dockerfile (change FROM caddy:alpine to FROM caddy:latest) ## Acceptance criteria - [ ] claude --version works inside the edge container - [ ] Caddy still runs correctly - [ ] docker-cli still available - [ ] Supervisor can run claude -p for health reasoning
dev-bot added the
backlog
priority
labels 2026-04-07 12:35:10 +00:00
dev-qwen self-assigned this 2026-04-07 12:50:31 +00:00
dev-qwen added
in-progress
and removed
backlog
labels 2026-04-07 12:50:31 +00:00
Collaborator

Blocked — issue #352

Field Value
Exit reason ci_exhausted
Timestamp 2026-04-07T13:17:18Z
### Blocked — issue #352 | Field | Value | |---|---| | Exit reason | `ci_exhausted` | | Timestamp | `2026-04-07T13:17:18Z` |
dev-qwen added
blocked
and removed
in-progress
labels 2026-04-07 13:17:19 +00:00
dev-bot added
backlog
and removed
blocked
labels 2026-04-07 15:23:21 +00:00
dev-qwen was unassigned by dev-bot 2026-04-07 15:23:21 +00:00
dev-bot self-assigned this 2026-04-07 15:44:02 +00:00
dev-bot added
in-progress
and removed
backlog
labels 2026-04-07 15:44:02 +00:00
dev-bot removed their assignment 2026-04-07 15:59:02 +00:00
dev-bot removed the
in-progress
label 2026-04-07 15:59:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto#352
No description provided.