mirror of
https://gh.wpcy.net/https://github.com/fairpm/server.git
synced 2026-06-19 02:53:45 +08:00
47 lines
1.6 KiB
Docker
47 lines
1.6 KiB
Docker
ARG FRANKENPHP_TAG="1.5.0-php8.4.7-bookworm@sha256:661bbd11ce8b9bbf51ba6e13d1cb7ea533466984142d936411df325922c4cdb1"
|
|
ARG COMPOSER_TAG="2.9.1@sha256:7384cf9fa70b710af02c9f40bec6e44472e07138efa5ab3428a058087c0d2724"
|
|
ARG WP_CLI_TAG="cli-2.12.0-php8.4@sha256:a5c7dabbf09133101c69cc43f4b972783f96f04b2f9e71c5a516c569e22e28fc"
|
|
|
|
FROM composer:${COMPOSER_TAG} AS composer_img
|
|
FROM wordpress:${WP_CLI_TAG} AS wpcli_img
|
|
FROM dunglas/frankenphp:${FRANKENPHP_TAG} AS base
|
|
|
|
COPY --from=composer_img /usr/bin/composer /usr/bin/composer
|
|
COPY --from=wpcli_img /usr/local/bin/wp /usr/local/bin/wp
|
|
|
|
RUN install-php-extensions apcu gd gmp intl mysqli opcache redis sqlite3 zip
|
|
|
|
RUN groupadd --gid 100000 app \
|
|
&& useradd --uid 100000 --gid 100000 --create-home --shell /bin/bash app \
|
|
&& chown -R app:app /config /data \
|
|
&& apt update \
|
|
&& apt install -y curl default-mysql-client git less
|
|
|
|
COPY docker/fairpm-wordpress/Caddyfile /etc/caddy/Caddyfile
|
|
COPY docker/fairpm-wordpress/php.local.ini /usr/local/etc/php/conf.d/php.local.ini
|
|
|
|
WORKDIR /app
|
|
CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile"]
|
|
|
|
################
|
|
FROM base AS dev
|
|
|
|
# xdebug is still not enabled by default. uncomment the line in docker-compose.override.yml to enable.
|
|
RUN install-php-extensions xdebug
|
|
|
|
RUN apt update \
|
|
&& apt install sudo \
|
|
&& adduser app sudo \
|
|
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
|
|
USER app
|
|
|
|
################
|
|
FROM base AS prod
|
|
|
|
COPY . /app
|
|
RUN chown -R app:app /app
|
|
|
|
USER app
|
|
RUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader --working-dir=/app
|
|
|