1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- # syntax=docker/dockerfile:1
- FROM golang-base
- ARG FRANKENPHP_VERSION=''
- ENV FRANKENPHP_VERSION=${FRANKENPHP_VERSION}
- ARG PHP_VERSION=''
- ENV PHP_VERSION=${PHP_VERSION}
- ARG PHP_EXTENSIONS=''
- ARG PHP_EXTENSION_LIBS=''
- ARG CLEAN=''
- ARG EMBED=''
- ARG DEBUG_SYMBOLS=''
- ARG MIMALLOC=''
- ARG NO_COMPRESS=''
- SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
- LABEL org.opencontainers.image.title=FrankenPHP
- LABEL org.opencontainers.image.description="The modern PHP app server"
- LABEL org.opencontainers.image.url=https://frankenphp.dev
- LABEL org.opencontainers.image.source=https://github.com/dunglas/frankenphp
- LABEL org.opencontainers.image.licenses=MIT
- LABEL org.opencontainers.image.vendor="Kévin Dunglas"
- RUN apk update; \
- apk add --no-cache \
- alpine-sdk \
- autoconf \
- automake \
- bash \
- binutils \
- bison \
- build-base \
- cmake \
- curl \
- file \
- flex \
- g++ \
- gcc \
- git \
- jq \
- libgcc \
- libstdc++ \
- libtool \
- linux-headers \
- m4 \
- make \
- pkgconfig \
- php83 \
- php83-common \
- php83-ctype \
- php83-curl \
- php83-dom \
- php83-mbstring \
- php83-openssl \
- php83-pcntl \
- php83-phar \
- php83-posix \
- php83-session \
- php83-sodium \
- php83-tokenizer \
- php83-xml \
- php83-xmlwriter \
- upx \
- wget \
- xz ; \
- ln -sf /usr/bin/php83 /usr/bin/php
- # https://getcomposer.org/doc/03-cli.md#composer-allow-superuser
- ENV COMPOSER_ALLOW_SUPERUSER=1
- COPY --from=composer/composer:2-bin /composer /usr/bin/composer
- WORKDIR /go/src/app
- COPY go.mod go.sum ./
- RUN go mod graph | awk '{if ($1 !~ "@") print $2}' | xargs go get
- WORKDIR /go/src/app/caddy
- COPY caddy/go.mod caddy/go.sum ./
- RUN go mod graph | awk '{if ($1 !~ "@") print $2}' | xargs go get
- WORKDIR /go/src/app
- COPY *.* ./
- COPY caddy caddy
- COPY C-Thread-Pool C-Thread-Pool
- RUN --mount=type=secret,id=github-token GITHUB_TOKEN=$(cat /run/secrets/github-token) ./build-static.sh && \
- rm -Rf dist/static-php-cli/source/*
|