-
-
Notifications
You must be signed in to change notification settings - Fork 88
/
Dockerfile
38 lines (27 loc) · 1.42 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# syntax=docker/dockerfile:1.4
ARG PHP_VERSION=8.3
FROM php:${PHP_VERSION}-cli-alpine
ARG PACKAGE_CONSTRAINT=9.5.x-dev
# https://github.com/opencontainers/image-spec/blob/main/annotations.md
LABEL org.opencontainers.image.title="overtrue/phplint"
LABEL org.opencontainers.image.description="Docker image of overtrue/phplint Composer package"
LABEL org.opencontainers.image.source="https://github.com/overtrue/phplint"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.authors="overtrue,llaville"
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh \
&& cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini
# Default container directory where to mount your project source files
# GitLab uses $CI_PROJECT_DIR to identify where job runs on source files
# GitHub uses $GITHUB_WORKSPACE to identify where job runs on source files
RUN mkdir /workdir
# Create a group and user
RUN addgroup appgroup && adduser appuser -D -G appgroup
# Tell docker that all future commands should run as the appuser user
USER appuser
# Install Composer v2 binary then package
COPY --from=composer/composer:2-bin /composer /usr/bin/composer
ENV COMPOSER_ALLOW_SUPERUSER 1
RUN composer global require --no-progress overtrue/phplint $PACKAGE_CONSTRAINT
# Following recommendation at https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions#workdir
ENTRYPOINT ["/entrypoint.sh"]