- Updated Dockerfile.production - Updated Makefile - Updated deployment documentation - Updated docker/ci/Dockerfile, docker/php/Dockerfile, docker/worker/Dockerfile - Updated dependency scanning documentation - Added git-hooks documentation
72 lines
1.7 KiB
Docker
72 lines
1.7 KiB
Docker
# Dockerfile für CI/CD Workflows
|
|
# Optimiert für Gitea Actions Runner mit PHP 8.5 und allen benötigten Tools
|
|
ARG PHP_VERSION=8.5.0RC3
|
|
# Override via --build-arg PHP_VERSION=8.5.0RCX to track upstream releases
|
|
FROM php:${PHP_VERSION}-cli
|
|
|
|
# System-Abhängigkeiten für CI/CD
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
curl \
|
|
unzip \
|
|
zip \
|
|
lsb-release \
|
|
ca-certificates \
|
|
apt-transport-https \
|
|
jq \
|
|
ansible \
|
|
libzip-dev \
|
|
libpng-dev \
|
|
libjpeg-dev \
|
|
libfreetype6-dev \
|
|
libwebp-dev \
|
|
libavif-dev \
|
|
libxpm-dev \
|
|
libsodium-dev \
|
|
libpq-dev \
|
|
libxml2-dev \
|
|
libicu-dev \
|
|
libonig-dev \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Installiere PHP Extensions (CLI-Version)
|
|
RUN docker-php-ext-configure gd \
|
|
--with-freetype \
|
|
--with-jpeg \
|
|
--with-webp \
|
|
&& docker-php-ext-install -j$(nproc) \
|
|
zip \
|
|
pdo_mysql \
|
|
pdo_pgsql \
|
|
pcntl \
|
|
bcmath \
|
|
mbstring \
|
|
xml \
|
|
intl \
|
|
exif \
|
|
soap \
|
|
gd
|
|
|
|
# Installiere PECL Extensions
|
|
RUN pecl install apcu redis-6.3.0RC1 \
|
|
&& docker-php-ext-enable apcu redis
|
|
|
|
# Configure APCu
|
|
RUN echo "apc.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini \
|
|
&& echo "apc.shm_size=128M" >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini
|
|
|
|
# Composer installieren
|
|
RUN curl -sS https://getcomposer.org/installer | php \
|
|
&& mv composer.phar /usr/local/bin/composer \
|
|
&& chmod +x /usr/local/bin/composer
|
|
|
|
# Arbeitsverzeichnis
|
|
WORKDIR /workspace
|
|
|
|
# Standard-User für CI (UID/GID 1000)
|
|
RUN groupadd -g 1000 ci && useradd -u 1000 -g ci -m ci
|
|
|
|
# Stelle sicher, dass alle benötigten Tools verfügbar sind
|
|
RUN php -v && composer --version && git --version && jq --version
|