mirror of
https://github.com/BillyOutlast/UNIT3D-podman.git
synced 2026-02-04 03:01:17 +01:00
72 lines
2.0 KiB
Docker
72 lines
2.0 KiB
Docker
FROM fedora:latest
|
|
|
|
LABEL description="UNIT3D Docker image"
|
|
LABEL version="latest"
|
|
LABEL name="unit3d docker"
|
|
|
|
# Install Remi repository and enable PHP 8.4 module
|
|
RUN dnf install -y dnf-plugins-core \
|
|
&& dnf install -y https://rpms.remirepo.net/fedora/remi-release-$(rpm -E %fedora).rpm \
|
|
&& dnf module reset php -y \
|
|
&& dnf module enable php:remi-8.4 -y \
|
|
&& dnf install -y php
|
|
|
|
# Install base dependencies
|
|
RUN dnf -y update \
|
|
&& dnf -y install \
|
|
git \
|
|
python3 \
|
|
php \
|
|
php-fpm \
|
|
php-gd \
|
|
php-intl \
|
|
php-pgsql \
|
|
php-sqlite3 \
|
|
php-bcmath \
|
|
php-mysqlnd \
|
|
php-zip \
|
|
nodejs \
|
|
npm \
|
|
unzip \
|
|
&& dnf clean all
|
|
|
|
|
|
# Install composer manually
|
|
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
|
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
|
|
&& php -r "unlink('composer-setup.php');"
|
|
|
|
# Install yarnpkg using npm
|
|
RUN npm install -g yarn
|
|
|
|
# Install php-pecl-redis and php-imagick using pecl
|
|
RUN dnf -y install php-pear php-devel gcc make ImageMagick-devel \
|
|
&& pecl channel-update pecl.php.net \
|
|
&& pecl install redis imagick \
|
|
&& echo "extension=redis.so" > /etc/php.d/40-redis.ini \
|
|
&& echo "extension=imagick.so" > /etc/php.d/40-imagick.ini
|
|
|
|
|
|
# Set up MariaDB
|
|
|
|
RUN sed -i '/^;extension=iconv/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=bcmath/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=intl/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=mysqli/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=intl/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=zip/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=pdo_mysql/s/^;//' /etc/php.ini \
|
|
&& sed -i '/^;extension=intl/s/^;//' /etc/php.ini
|
|
|
|
|
|
# Create restricted user for running PHP application
|
|
RUN useradd -r -s /sbin/nologin unit3d \
|
|
&& mkdir -p /var/www/html \
|
|
&& chown unit3d:unit3d /var/www/html
|
|
|
|
RUN mkdir -p /run/php-fpm
|
|
|
|
# Expose necessary ports
|
|
EXPOSE 8080 5173
|
|
|