-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.session
More file actions
30 lines (22 loc) · 977 Bytes
/
Dockerfile.session
File metadata and controls
30 lines (22 loc) · 977 Bytes
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
FROM node:22-slim
# Install basic tools
RUN apt-get update && apt-get install -y \
curl \
git \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Install ttyd from GitHub releases (not in Debian bookworm repos)
RUN curl -sL https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.x86_64 -o /usr/local/bin/ttyd \
&& chmod +x /usr/local/bin/ttyd
# Install CLI tools (Claude Code + Codex)
RUN npm install -g @anthropic-ai/claude-code @openai/codex
# Install Google Cloud SDK (for gcloud auth application-default login)
RUN curl -sL https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz | tar -xz -C /opt \
&& /opt/google-cloud-sdk/install.sh --quiet --path-update true \
&& ln -s /opt/google-cloud-sdk/bin/gcloud /usr/local/bin/gcloud
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
WORKDIR /home/node
USER node
EXPOSE 7681
ENTRYPOINT ["entrypoint.sh"]