Files
blog/Dockerfile
2022-06-07 13:53:28 +02:00

47 lines
1.6 KiB
Docker

ARG UID=1000
ARG GID=1000
ARG USER_NAME=heroku
FROM heroku/heroku:20 AS base
RUN \
apt-get -qq update; \
apt-get install -y --no-install-recommends \
mysql-client \
&& apt-get download nginx-common \
&& rm -rf /var/lib/apt/lists/*; \
wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh; \
curl -sLo /usr/local/bin/wp \
https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar; \
chmod +x /usr/local/bin/wp; \
curl -sLo /usr/local/bin/mhsendmail \
https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64; \
chmod +x /usr/local/bin/mhsendmail;
FROM heroku/heroku:20-build AS build
COPY . /app
WORKDIR /app
RUN \
mkdir -p /tmp/buildpack/php /tmp/build_cache /tmp/env; \
curl -sL https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/php.tgz \
| tar --warning=none -xz -C /tmp/buildpack/php; \
STACK=heroku-20 /tmp/buildpack/php/bin/compile /app /tmp/build_cache /tmp/env; \
cp -v config/mailhog.ini /app/.heroku/php/etc/php/conf.d/225-mailhog.ini;
FROM base AS final
ARG UID
ARG GID
ARG USER_NAME
RUN \
groupadd -r --gid ${GID} ${USER_NAME}; \
useradd -M ${USER_NAME} -d /app --uid ${UID} --gid ${GID};
USER ${USER_NAME}
COPY --from=build --chown=heroku:heroku /app /app
COPY --from=build --chown=heroku:heroku /tmp/buildpack/php /buildpack/php
WORKDIR /app
ENV \
HOME=/app \
PATH=/app/.heroku/php/sbin:/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/app/.heroku/php/sbin:/app/.heroku/php/bin:/usr/local/bin:/usr/bin:/bin:/app/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
MAILHOG_ADDR=mailhog:1025
ENTRYPOINT [ "heroku","local" ]
CMD [ "web" ]