mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-13 00:14:21 +00:00
Debian does not package gh, so use GitHub's signed apt repo. Config lands in /home/paseo/.config/gh, inside the paseo-home volume, so the login survives a redeploy.
25 lines
1.2 KiB
Docker
25 lines
1.2 KiB
Docker
# The official image ships no agent CLIs. Add Claude Code globally under
|
|
# /usr/local, where the unprivileged paseo user can run it.
|
|
#
|
|
# npm here delivers the same native binary as the standalone installer -- it is
|
|
# not a Node wrapper. Do not swap this for the `curl | bash` installer: that
|
|
# writes to $HOME/.local, and $HOME is /home/paseo, a volume mount that masks
|
|
# anything baked in at build time.
|
|
#
|
|
# Stays root: the entrypoint needs root to chown the mounted volumes, then
|
|
# drops to paseo with gosu itself.
|
|
FROM ghcr.io/getpaseo/paseo:latest
|
|
|
|
RUN npm install -g @anthropic-ai/claude-code
|
|
|
|
# gh is not in the Debian repos, so pull it from GitHub's own signed one.
|
|
RUN install -d -m 0755 /etc/apt/keyrings \
|
|
&& curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
|
|
-o /etc/apt/keyrings/githubcli-archive-keyring.gpg \
|
|
&& chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
|
|
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
|
|
> /etc/apt/sources.list.d/github-cli.list \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends gh \
|
|
&& rm -rf /var/lib/apt/lists/*
|