summaryrefslogtreecommitdiff
path: root/dev/Dockerfile.local
blob: f990b3ee28619b48075a040982a74e269918297d (plain)
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
39
# Image page: <https://hub.docker.com/_/golang>
FROM --platform=${TARGETPLATFORM:-linux/amd64} golang:alpine as builder

# app version and build date must be passed during image building (version without any prefix).
# e.g.: `docker build --build-arg "APP_VERSION=1.2.3" --build-arg "BUILD_TIME=$(date +%FT%T%z)" .`
ARG APP_VERSION="undefined"
ARG BUILD_TIME="undefined"

COPY . /src

# Image page: <https://hub.docker.com/_/alpine>
# https://alpinelinux.org/posts/Alpine-3.13.4-released.html
# Critical issue with 3.13.3 https://nvd.nist.gov/vuln/detail/CVE-2021-28831
FROM --platform=${TARGETPLATFORM:-linux/amd64} php:latest

# use same build arguments for image labels
ARG APP_VERSION="undefined"
ARG BUILD_TIME="undefined"

# copy required files from builder image
COPY --from=builder /src/rr /usr/bin/rr
COPY --from=builder /src/.rr-docker.yaml /etc/rr-docker.yaml
COPY --from=builder /src/composer.json /etc/composer.json
COPY --from=builder /src/psr-worker.php /etc/psr-worker.php

WORKDIR /etc

RUN docker-php-ext-install sockets

RUN apt update -y
RUN apt upgrade -y
RUN apt install git zip unzip -y

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN composer install

# use roadrunner binary as image entrypoint
ENTRYPOINT ["/usr/bin/rr"]