# Ubuntu 20.04 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru

FROM ubuntu:20.04
ENV container=docker

# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC

# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y

# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
    systemd \
    systemd-sysv \
    dbus \
    curl \
    wget \
    nano \
    python3 \
    python3-pip \
    sudo \
    && apt-get clean

# Устанавливаем Docker вручную для Ubuntu
# RUN apt-get update && apt-get install -y \
#     ca-certificates \
#     curl \
#     gnupg \
#     lsb-release \
#     && mkdir -p /usr/share/keyrings \
#     && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
#     && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
#     && apt-get update \
#     && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
#     && apt-get clean

# Устанавливаем 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

# Настраиваем systemd
RUN systemctl set-default multi-user.target

# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
    echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test

# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
    && echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

# Команда по умолчанию (система запускается от root для systemd)
STOPSIGNAL SIGRTMIN+3
VOLUME ["/sys/fs/cgroup"]
CMD ["/sbin/init"]
