Files
michaelschiemer/docker/ci/Dockerfile
Michael Schiemer a52142f304 chore: Update Dockerfiles, Makefile and documentation
- 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
2025-11-01 21:16:03 +01:00

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