47 lines
1.6 KiB
Docker
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" ]
|