forked from leogallego/ansible-claude-code-devcontainer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
39 lines (30 loc) · 1.65 KB
/
Copy pathDockerfile
File metadata and controls
39 lines (30 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
FROM ghcr.io/ansible/community-ansible-dev-tools:v26.6.1
ENV TZ="UTC"
# Install Node.js, sudo, and CLI tools (Fedora uses dnf)
RUN dnf install -y nodejs npm sudo curl jq gh uv tmux unzip && dnf clean all
# Install Claude Code
RUN npm install -g @anthropic-ai/claude-code
# Download Abbenay AI provider gateway (VS Code extension + bundled daemon)
# Set to "none" to skip. See: https://github.com/redhat-developer/abbenay
ARG ABBENAY_VERSION=v2026.6.4
RUN if [ "$ABBENAY_VERSION" != "none" ]; then \
arch=$(uname -m | sed 's/x86_64/x64/' | sed 's/aarch64/arm64/') && \
version_num=$(echo "$ABBENAY_VERSION" | sed 's/^v//') && \
curl -fsSL -L "https://github.com/redhat-developer/abbenay/releases/download/${ABBENAY_VERSION}/abbenay-provider-linux-${arch}-${version_num}.vsix" \
-o /opt/abbenay-provider.vsix; \
fi
# Default Abbenay config (env var based, no keychain in containers)
RUN mkdir -p /root/.config/abbenay
COPY abbenay-config.yaml /root/.config/abbenay/config.yaml
ARG DEVCONTAINER_VERSION=1.5.0
RUN echo "$DEVCONTAINER_VERSION" > /etc/devcontainer-version
ENV DEVCONTAINER_TEMPLATE_VERSION=$DEVCONTAINER_VERSION
ENV DEVCONTAINER=true
# Symlink ~/.ansible to /workspace/.ansible so all Ansible tools
# (galaxy, lint, navigator) converge under the workspace mount
RUN rm -rf /root/.ansible && ln -s /workspace/.ansible /root/.ansible
# Copy and set up startup scripts
COPY init-registry-auth.sh init-abbenay.sh init-claude-md.sh init-mcp-config.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/init-registry-auth.sh /usr/local/bin/init-abbenay.sh \
/usr/local/bin/init-claude-md.sh /usr/local/bin/init-mcp-config.sh
WORKDIR /workspace