1- FROM mcr.microsoft.com/devcontainers/universal:2-focal
1+ FROM mcr.microsoft.com/devcontainers/typescript-node:22-bookworm
22
33# Install docker client
44ENV DOCKER_CHANNEL stable
@@ -24,27 +24,31 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
2424 libffi-dev \
2525 unzip \
2626 gcc \
27+ sudo \
2728 golang \
2829 && apt-get clean -y \
2930 && rm -rf /var/lib/apt/lists/*
3031
32+ # Create codespace user
33+ USER node
34+ ENV HOME /home/node
35+
3136# Set up Go
32- ENV GOPATH=$HOME/go
33- ENV PATH=$GOPATH/bin:$PATH
37+ ENV GOPATH $HOME/go
38+ ENV PATH $GOPATH/bin:$PATH
39+
40+ # Set ASDF_DIR environment variable
41+ ENV ASDF_DATA_DIR=$HOME/.asdf
42+ ENV PATH=$ASDF_DATA_DIR/shims:$PATH
43+ RUN echo 'export PATH="$ASDF_DATA_DIR:$ASDF_DATA_DIR/shims:$PATH"' >> $HOME/.bashrc
44+ ENV PATH $ASDF_DATA_DIR:$PATH
3445
3546# Install asdf
3647ARG ASDF_VERSION=0.16.7
37- RUN go install github.com/asdf-vm/asdf/cmd/asdf@v${ASDF_VERSION}
38-
39- # Switch to codespace user
40- RUN mkdir -p /opt/asdf
41- RUN chown -R codespace:codespace /opt/asdf
42- USER codespace
43-
44- # Set ASDF_DIR environment variable
45- ENV ASDF_DATA_DIR=/opt/asdf
46- ENV PATH=/opt/asdf/shims:$PATH
47- RUN echo 'export PATH="/opt/asdf/shims:$PATH"' >> /home/codespace/.bashrc
48+ RUN mkdir -p ${ASDF_DATA_DIR} && \
49+ curl -sL https://github.com/asdf-vm/asdf/releases/download/v${ASDF_VERSION}/asdf-v${ASDF_VERSION}-linux-amd64.tar.gz | \
50+ tar -xzC ${ASDF_DATA_DIR}
51+ RUN chmod +x $ASDF_DATA_DIR/asdf
4852
4953# Install Erlang and Elixir via asdf
5054RUN asdf plugin add erlang
0 commit comments