@柠檬不是吃的#6413 FlarumChina 是用 git submodule 来进行管理的,如果需要通过源码构你可以参考我们的
dockerfile
FROM alpine:3.11
ENV GID=991 \
UID=991 \
UPLOAD_MAX_SIZE=50M \
PHP_MEMORY_LIMIT=128M \
OPCACHE_MEMORY_LIMIT=128 \
DB_HOST=mariadb \
DB_USER=flarum \
DB_NAME=flarum \
DB_PORT=3306 \
FLARUM_TITLE=Docker-Flarum \
DEBUG=false \
LOG_TO_STDOUT=false \
GITHUB_TOKEN_AUTH=false \
FLARUM_PORT=8888
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories \
&& apk add --no-cache --repository http://mirrors.aliyun.com/alpine/edge/community gnu-libiconv
RUN apk add --no-progress --no-cache \
tzdata \
nginx \
s6 \
su-exec \
curl \
git \
libcap \
php7 \
php7-fileinfo \
php7-phar \
php7-fpm \
php7-curl \
php7-mbstring \
php7-openssl \
php7-json \
php7-pdo \
php7-pdo_mysql \
php7-mysqlnd \
php7-zlib \
php7-gd \
php7-dom \
php7-ctype \
php7-session \
php7-opcache \
php7-xmlwriter \
php7-tokenizer \
php7-zip \
php7-intl \
php7-iconv \
php7-exif \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& cd /tmp \
&& curl -s http://mirrors.aliyun.com/composer/composer.phar -o /usr/local/bin/composer \
&& chmod +x /usr/local/bin/composer \
&& composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \
&& composer global require --no-progress --no-suggest -- hirak/prestissimo \
&& mkdir -p /flarum/app \
&& cd /flarum/app \
&& git clone --depth=1 --recursive https://gitee.com/FlarumChina/flarum.git . \
&& git submodule foreach "git checkout master" \
&& COMPOSER_CACHE_DIR="/tmp" composer install -o --no-progress \
&& composer clear-cache \
&& rm -rf /flarum/.composer /tmp/* .git \
&& setcap CAP_NET_BIND_SERVICE=+eip /usr/sbin/nginx
COPY rootfs /
RUN chmod +x /usr/local/bin/* /services/*/run /services/.s6-svscan/*
VOLUME /flarum/app/extensions /etc/nginx/conf.d
CMD ["/usr/local/bin/startup"]