43 lines
981 B
Docker
43 lines
981 B
Docker
# Base image
|
|
FROM debian:trixie-slim
|
|
|
|
# Set environment variables
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
LANG=C.UTF-8 \
|
|
PATH=/usr/local/bundle/bin:/opt/venv/bin:$PATH
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
curl \
|
|
git \
|
|
bash \
|
|
openssh-client \
|
|
python3 \
|
|
python3-venv \
|
|
build-essential \
|
|
zlib1g-dev \
|
|
libffi-dev \
|
|
libssl-dev \
|
|
ruby-full \
|
|
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 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Jekyll and Bundler
|
|
RUN gem install bundler jekyll
|
|
|
|
# Create Python virtual environment for Ansible
|
|
RUN python3 -m venv /opt/venv \
|
|
&& /opt/venv/bin/pip install --no-cache-dir --upgrade pip ansible
|
|
|
|
# Create workspace
|
|
WORKDIR /workspace
|
|
|
|
# Default shell
|
|
SHELL ["/bin/bash", "-c"]
|