43 lines
942 B
Docker
43 lines
942 B
Docker
# Base image
|
|
FROM debian:trixie-slim
|
|
|
|
# Set environment variables
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
LANG=C.UTF-8 \
|
|
PATH=/usr/local/bundle/bin:$PATH
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl \
|
|
git \
|
|
bash \
|
|
openssh-client \
|
|
python3 \
|
|
python3-pip \
|
|
build-essential \
|
|
zlib1g-dev \
|
|
libffi-dev \
|
|
libssl-dev \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Node.js 22
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
|
&& apt-get install -y nodejs \
|
|
&& npm install -g npm
|
|
|
|
# Install Ansible via pip
|
|
RUN pip3 install --no-cache-dir ansible
|
|
|
|
# Install Ruby and Jekyll
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ruby-full \
|
|
&& gem install bundler jekyll \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create workspace
|
|
WORKDIR /workspace
|
|
|
|
# Default shell
|
|
SHELL ["/bin/bash", "-c"]
|