Skip to content

Commit

Permalink
add chrome (#5)
Browse files Browse the repository at this point in the history
* test chrome

* add chrome

* Update Dockerfile

* Update Dockerfile
  • Loading branch information
Simoneu01 authored Oct 27, 2024
1 parent 62a4fcf commit 9b5aca7
Showing 1 changed file with 35 additions and 68 deletions.
103 changes: 35 additions & 68 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,94 +10,61 @@ ARG RUNNER_ARCH="x64"
# source: https://github.com/actions/runner-container-hooks/releases
# ex: 0.3.1
ARG RUNNER_CONTAINER_HOOKS_VERSION="0.6.1"

ARG NODE_VERSION=20
ARG MYSQL_ROOT_PASSWORD=root
ARG CHROME_VERSION="130.0.6723.69"

ENV DEBIAN_FRONTEND=noninteractive
ENV RUNNER_MANUALLY_TRAP_SIG=1
ENV ACTIONS_RUNNER_PRINT_LOG_TO_STDOUT=1
ENV DEBIAN_FRONTEND=noninteractive \
RUNNER_MANUALLY_TRAP_SIG=1 \
ACTIONS_RUNNER_PRINT_LOG_TO_STDOUT=1 \
CHROME_BIN="/usr/bin/google-chrome"

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN apt-get update -qq \
&& apt-get upgrade -qq -y \
&& apt-get install -q -y --no-install-recommends \
curl \
unzip \
sudo\
jq \
git \
gpg \
openssl \
gpg-agent \
software-properties-common \
&& curl -sL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -q -y \
nodejs \
&& apt-get update -qq \
&& apt-add-repository ppa:ondrej/php -y \
&& apt-get update -qq \
&& apt-get install -q -y --no-install-recommends \
php8.3 \
php8.3-ctype \
php8.3-curl \
php8.3-fileinfo \
php8.3-fpm \
php8.3-iconv \
php8.3-mbstring \
php8.3-phar \
php8.3-simplexml \
php8.3-xml \
php8.3-xmlwriter \
php8.3-zip \
php8.3-gd \
php8.3-intl \
php8.3-tokenizer \
php8.3-xmlreader \
php8.3-posix \
php8.3-redis \
php8.3-mysql
RUN apt-get update -qq && \
apt-get upgrade -qq -y && \
apt-get install -q -y --no-install-recommends \
curl wget unzip sudo jq gnupg git gpg openssl gpg-agent software-properties-common \
&& curl -sL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - && \
apt-add-repository ppa:ondrej/php -y && \
apt-get update -qq && \
apt-get install -q -y --no-install-recommends \
nodejs php8.3 php8.3-{ctype,curl,fileinfo,fpm,iconv,mbstring,phar,simplexml,xml,xmlwriter,zip,gd,intl,tokenizer,xmlreader,posix,redis,mysql,pcov} \
&& apt-get install -q -y mariadb-server redis-server \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN adduser --disabled-password --gecos "" --uid 1001 runner \
&& groupadd docker --gid 123 \
&& usermod -aG sudo runner \
&& usermod -aG docker runner \
&& usermod -aG sudo,docker runner \
&& echo "%sudo ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers \
&& echo "Defaults env_keep += \"DEBIAN_FRONTEND\"" >> /etc/sudoers

# Imposta la password di root per MariaDB
ARG MYSQL_ROOT_PASSWORD=root

# Installazione di MariaDB con configurazione della password
RUN apt-get update -qq && \
echo "mariadb-server mariadb-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections && \
# Configure MariaDB
RUN echo "mariadb-server mariadb-server/root_password password $MYSQL_ROOT_PASSWORD" | debconf-set-selections && \
echo "mariadb-server mariadb-server/root_password_again password $MYSQL_ROOT_PASSWORD" | debconf-set-selections && \
apt-get install -y mariadb-server && \
service mariadb start && \
# Disabilita l'uso di unix_socket per l'utente root e abilita l'autenticazione con password
mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'; FLUSH PRIVILEGES;"
mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'; FLUSH PRIVILEGES;" && \
echo 'sort_buffer_size = 256000000' >> /etc/mysql/mariadb.conf.d/50-server.cnf

# Configure MariaDB
RUN echo 'sort_buffer_size = 256000000' >> /etc/mysql/mariadb.conf.d/50-server.cnf
# Configure Redis to listen on all interfaces
RUN sed -i 's/^# bind 127.0.0.1 ::1/bind 0.0.0.0/' /etc/redis/redis.conf

# Installa Redis
# Install Chrome
RUN apt-get update -qq && \
apt-get install -y redis-server && \
# Configura Redis per eseguire tutte le interfacce di rete (opzionale, solo per test)
sed -i 's/^# bind 127.0.0.1 ::1/bind 0.0.0.0/' /etc/redis/redis.conf && \
# Imposta Redis in modalità background
echo "daemonize yes" >> /etc/redis/redis.conf
apt-get install -y fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 \
libcairo2 libcups2 libdrm2 libgbm1 libgtk-3-0 libnspr4 libnss3 \
libpango-1.0-0 libvulkan1 libxcomposite1 libxdamage1 libxext6 \
libxfixes3 libxkbcommon0 libxrandr2 xdg-utils && \
wget --no-verbose -O /tmp/chrome.deb https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}-1_amd64.deb && \
apt install -y /tmp/chrome.deb && rm /tmp/chrome.deb

WORKDIR /home/runner

RUN curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${RUNNER_ARCH}-${RUNNER_VERSION}.tar.gz \
&& tar xzf ./runner.tar.gz \
&& rm runner.tar.gz

RUN curl -f -L -o runner-container-hooks.zip https://github.com/actions/runner-container-hooks/releases/download/v${RUNNER_CONTAINER_HOOKS_VERSION}/actions-runner-hooks-k8s-${RUNNER_CONTAINER_HOOKS_VERSION}.zip \
&& unzip ./runner-container-hooks.zip -d ./k8s \
&& rm runner-container-hooks.zip
RUN curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${RUNNER_ARCH}-${RUNNER_VERSION}.tar.gz && \
tar xzf ./runner.tar.gz && rm runner.tar.gz && \
curl -f -L -o runner-container-hooks.zip https://github.com/actions/runner-container-hooks/releases/download/v${RUNNER_CONTAINER_HOOKS_VERSION}/actions-runner-hooks-k8s-${RUNNER_CONTAINER_HOOKS_VERSION}.zip && \
unzip ./runner-container-hooks.zip -d ./k8s && rm runner-container-hooks.zip

USER runner

0 comments on commit 9b5aca7

Please sign in to comment.