Multiple implementations of the same back-end application. The aim is to provide quick, side-by-side comparisons of different technologies (languages, frameworks, libraries) while preserving consistent business logic across all implementations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

36 lines
900 B

FROM rust:1.90.0
# Install basic development tools
RUN apt-get update && apt-get install -y \
build-essential \
gdb \
git \
procps \
sudo \
&& rm -rf /var/lib/apt/lists/*
# Create developer user with host UID/GID
ARG USER_UID=1000
ARG USER_GID=1000
ENV USER_UID=${USER_UID:-1000}
ENV USER_GID=${USER_GID:-1000}
RUN groupadd -g $USER_GID developer \
&& useradd -u $USER_UID -g $USER_GID -m developer \
&& mkdir -p /workspace \
&& chown developer:developer /workspace
RUN echo 'developer ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/developer \
&& chmod 0440 /etc/sudoers.d/developer
RUN mkdir -p /home/developer/.vscode-server \
&& chown -R developer:developer /home/developer/.vscode-server
# Switch to developer user
USER developer
# Set up cargo path
ENV PATH="/home/developer/.cargo/bin:${PATH}"
# Set default workspace directory
WORKDIR /workspace