2025-09-13 22:59:23 +00:00
|
|
|
FROM mcr.microsoft.com/devcontainers/javascript-node:24
|
|
|
|
|
|
|
|
# Install system dependencies
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
curl \
|
|
|
|
ca-certificates \
|
|
|
|
gnupg \
|
|
|
|
lsb-release \
|
2025-09-14 14:56:02 +00:00
|
|
|
ca-certificates \
|
2025-09-13 22:59:23 +00:00
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2025-09-21 22:30:10 +00:00
|
|
|
# Install lazygit
|
|
|
|
RUN LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') \
|
|
|
|
&& curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" \
|
|
|
|
&& tar xf lazygit.tar.gz lazygit \
|
|
|
|
&& install lazygit /usr/local/bin \
|
|
|
|
&& rm lazygit.tar.gz lazygit
|
|
|
|
|
2025-09-13 22:59:23 +00:00
|
|
|
# Install Bun as the node user
|
|
|
|
USER node
|
|
|
|
RUN curl -fsSL https://bun.sh/install | bash
|
|
|
|
ENV PATH="/home/node/.bun/bin:$PATH"
|
|
|
|
|
|
|
|
# Switch back to root for any remaining setup
|
|
|
|
USER root
|
|
|
|
|
|
|
|
# Ensure the node user owns their home directory
|
|
|
|
RUN chown -R node:node /home/node
|
|
|
|
|
|
|
|
# Set the default user back to node
|
|
|
|
USER node
|
|
|
|
|
|
|
|
# Set working directory
|
|
|
|
WORKDIR /workspace
|
|
|
|
|
|
|
|
# Verify installations
|
2025-09-14 11:00:16 +00:00
|
|
|
RUN bun --version
|