Browse Source

upgrade go version + add alpine dockerfile (#217)

clementtalleu 1 year ago
parent
commit
1766c1266e
2 changed files with 65 additions and 1 deletions
  1. 64 0
      dev-alpine.Dockerfile
  2. 1 1
      dev.Dockerfile

+ 64 - 0
dev-alpine.Dockerfile

@@ -0,0 +1,64 @@
+# syntax=docker/dockerfile:1
+FROM golang:1.21-alpine
+
+ENV CFLAGS="-ggdb3"
+ENV PHPIZE_DEPS \
+    autoconf \
+    dpkg-dev \
+    file \
+    g++ \
+    gcc \
+    libc-dev \
+    make \
+    pkgconfig \
+    re2c
+
+RUN apk add --no-cache \
+    $PHPIZE_DEPS \
+    argon2-dev \
+    curl-dev \
+    oniguruma-dev \
+    readline-dev \
+    libsodium-dev \
+    sqlite-dev \
+    openssl-dev \
+    libxml2-dev \
+    zlib-dev \
+    bison \
+    nss-tools \
+    # Dev tools \
+    git \
+    clang \
+    llvm \
+    gdb \
+    valgrind \
+    neovim \
+    zsh \
+    libtool && \
+    echo 'set auto-load safe-path /' > /root/.gdbinit
+
+RUN git clone --branch=PHP-8.2 https://github.com/php/php-src.git && \
+    cd php-src && \
+    # --enable-embed is only necessary to generate libphp.so, we don't use this SAPI directly
+    ./buildconf --force && \
+    ./configure \
+        --enable-embed \
+        --enable-zts \
+        --disable-zend-signals \
+        --enable-zend-max-execution-timers \
+        --enable-debug && \
+    make -j$(nproc) && \
+    make install && \
+    ldconfig /etc/ld.so.conf.d && \
+    cp php.ini-development /usr/local/lib/php.ini && \
+    echo -e "zend_extension=opcache.so\nopcache.enable=1" >> /usr/local/lib/php.ini &&\
+    php --version
+
+WORKDIR /go/src/app
+
+COPY . .
+
+RUN cd caddy/frankenphp && \
+    go build
+
+CMD [ "zsh" ]

+ 1 - 1
dev.Dockerfile

@@ -1,5 +1,5 @@
 # syntax=docker/dockerfile:1
-FROM golang:1.20
+FROM golang:1.21
 
 ENV CFLAGS="-ggdb3"
 ENV PHPIZE_DEPS \