# Debian с systemd # Автор: Сергей Антропов # Сайт: https://devops.org.ru # https://hub.docker.com/_/debian FROM debian:bookworm # Обновляем систему RUN apt-get update && apt-get upgrade -y # Устанавливаем systemd и необходимые пакеты RUN apt-get install -y \ systemd \ dbus \ curl \ wget \ git \ vim \ nano \ htop \ tree \ jq \ python3 \ python3-pip \ python3-venv \ python3-dev \ build-essential \ && apt-get clean # Устанавливаем pip RUN curl -sS https://bootstrap.pypa.io/pip/3.11/get-pip.py | python3 # Устанавливаем yq RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \ && chmod +x /usr/local/bin/yq # Устанавливаем Docker Compose RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \ && chmod +x /usr/local/bin/docker-compose # Устанавливаем kubectl RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \ && chmod +x kubectl \ && mv kubectl /usr/local/bin/ # Устанавливаем kind RUN curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.23.0/kind-linux-amd64 \ && chmod +x ./kind \ && mv ./kind /usr/local/bin/ # Устанавливаем Helm RUN curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash # Устанавливаем Docker RUN apt-get install -y docker.io docker-compose # Создаем пользователя ansible RUN useradd -m -s /bin/bash ansible \ && echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # Устанавливаем Ansible RUN pip3 install ansible ansible-core # Устанавливаем Ansible Galaxy коллекции RUN ansible-galaxy install geerlingguy.docker \ && ansible-galaxy install geerlingguy.kubernetes # Копируем requirements.yml COPY requirements.yml /tmp/requirements.yml # Устанавливаем коллекции из requirements.yml RUN ansible-galaxy collection install -r /tmp/requirements.yml # Устанавливаем systemd по умолчанию RUN systemctl set-default multi-user.target # Устанавливаем права на директорию ansible RUN chown -R ansible:ansible /ansible # Рабочая директория WORKDIR /ansible