-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile
More file actions
48 lines (41 loc) · 1.82 KB
/
Dockerfile
File metadata and controls
48 lines (41 loc) · 1.82 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
40
41
42
43
44
45
46
47
48
# The devcontainer should use the developer target and run as root with podman
# or docker with user namespaces.
FROM ubuntu:noble-20260324
# Add any system dependencies for the developer/build environment here
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
busybox \
ca-certificates \
curl \
gdb \
git \
less \
locales \
man-db \
ssh-client \
zsh && \
apt-get dist-clean
# VSCode will use en_US for git operations, so make it available in the container
# https://github.com/microsoft/vscode/pull/210506
RUN locale-gen en_US.UTF-8
# Add oh my zsh
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Use busybox to provide any missing commands
# This is useful for commands like `telnet` that are not available in the base image
RUN busybox --install -s
# Copy in the default bash configuration
COPY terminal-config /root/terminal-config
ENV USER_TERMINAL_CONFIG=/user-terminal-config
# Make sure that $USER_TERMINAL_CONFIG exists so we can link to it
# and add hooks to all the files we reference
# This can be overridden by the user mounting a different folder over the top
RUN /root/terminal-config/ensure-user-terminal-config.sh && \
echo '/root/terminal-config/ensure-user-terminal-config.sh' >> /root/.bashrc && \
echo 'source ${USER_TERMINAL_CONFIG}/bashrc' >> /root/.bashrc && \
echo '/root/terminal-config/ensure-user-terminal-config.sh' > /root/.zshrc && \
echo 'source ${USER_TERMINAL_CONFIG}/zshrc' >> /root/.zshrc && \
ln -fs $USER_TERMINAL_CONFIG/inputrc /root/.inputrc
# Install uv using the official image
# See https://docs.astral.sh/uv/guides/integration/docker/#installing-uv
COPY --from=ghcr.io/astral-sh/uv:0.11 /uv /uvx /bin/