86 lines
2.6 KiB
Docker
86 lines
2.6 KiB
Docker
FROM git.alshafagh.ir/docker/php:8.2-cli-bullseye
|
|
RUN apt-get update; \
|
|
apt-get upgrade -yqq; \
|
|
pecl -q channel-update pecl.php.net; \
|
|
apt-get install -yqq --no-install-recommends --show-progress \
|
|
apt-utils \
|
|
gnupg \
|
|
gosu \
|
|
git \
|
|
curl \
|
|
wget \
|
|
libcurl4-openssl-dev \
|
|
ca-certificates \
|
|
supervisor \
|
|
libmemcached-dev \
|
|
libz-dev \
|
|
libbrotli-dev \
|
|
libpq-dev \
|
|
libjpeg-dev \
|
|
libpng-dev \
|
|
libfreetype6-dev \
|
|
libssl-dev \
|
|
libwebp-dev \
|
|
libmcrypt-dev \
|
|
libonig-dev \
|
|
libzip-dev zip unzip \
|
|
libargon2-1 \
|
|
libidn2-0 \
|
|
libpcre2-8-0 \
|
|
libpcre3 \
|
|
libxml2 \
|
|
libzstd1 \
|
|
procps \
|
|
zlib1g-dev \
|
|
libicu-dev \
|
|
g++ \
|
|
libc-ares-dev
|
|
|
|
RUN docker-php-ext-configure zip
|
|
RUN docker-php-ext-configure intl
|
|
RUN docker-php-ext-configure gd --prefix=/usr --with-jpeg --with-webp --with-freetype
|
|
RUN docker-php-ext-install pdo_mysql exif pcntl bcmath gd intl zip mbstring sockets
|
|
RUN pecl install redis
|
|
RUN pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-hook-curl="yes" enable-cares="yes" with-postgres="yes"' openswoole
|
|
RUN docker-php-ext-enable redis openswoole
|
|
|
|
RUN docker-php-source delete \
|
|
&& apt-get purge -y --auto-remove \
|
|
-o APT::AutoRemove::RecommendsImportant=false \
|
|
-o APT::AutoRemove::SuggestsImportant=false \
|
|
freetds-dev \
|
|
libbz2-dev \
|
|
libc-client-dev \
|
|
libffi-dev \
|
|
libfreetype6-dev \
|
|
libgmp3-dev \
|
|
libicu-dev \
|
|
libjpeg62-turbo-dev \
|
|
libmagickwand-dev \
|
|
libkrb5-dev \
|
|
libldap2-dev \
|
|
libmcrypt-dev \
|
|
libpng-dev \
|
|
libpq-dev \
|
|
libpspell-dev \
|
|
libonig-dev \
|
|
librabbitmq-dev \
|
|
libsasl2-dev \
|
|
libsnmp-dev \
|
|
libssl-dev \
|
|
libtidy-dev \
|
|
libxml2-dev \
|
|
libxpm-dev \
|
|
libxslt1-dev \
|
|
zlib1g-dev \
|
|
libzip-dev \
|
|
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
RUN groupadd --force -g 1000 octane && useradd -ms /bin/bash --no-log-init --no-user-group -g 1000 -u 1000 octane
|
|
WORKDIR /app
|
|
RUN chown -R octane:octane .
|
|
EXPOSE 80
|
|
COPY ./supervisord.conf /etc/supervisord.conf
|
|
COPY ./entrypoint.sh /etc/entrypoint.sh
|
|
ENTRYPOINT ["/etc/entrypoint.sh"]
|
|
HEALTHCHECK --start-period=5s --interval=2s --timeout=5s --retries=8 CMD php artisan octane:status || exit 1
|