Install lazygit from latest GitHub release for improved git workflow in the development environment. Co-authored-by: Ona <no-reply@ona.com>
37 lines
1.0 KiB
Docker
37 lines
1.0 KiB
Docker
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 \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 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
|
|
|
|
# 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
|
|
RUN bun --version |