67 lines
1.9 KiB
Docker
67 lines
1.9 KiB
Docker
FROM golang:1.16.3-buster@sha256:9d64369fd3c633df71d7465d67d43f63bb31192193e671742fa1c26ebc3a6210 as supercronic
|
|
|
|
# renovate: datasource=github-tags depName=aptible/supercronic versioning=semver
|
|
ENV SUPERCRONIC_VERSION v0.1.12
|
|
|
|
RUN set -ex; \
|
|
git clone --branch $SUPERCRONIC_VERSION https://github.com/aptible/supercronic; \
|
|
cd supercronic; \
|
|
go mod vendor; \
|
|
go install;
|
|
|
|
FROM mwalbeck/composer:1.10.21-php7.4@sha256:0d164f30afe6044609da720c38a8e477934bf19715cba1e44d90919507296014 AS composer
|
|
|
|
ENV FLOX_VERSION master
|
|
|
|
RUN set -ex; \
|
|
\
|
|
git clone --branch $FLOX_VERSION https://github.com/devfake/flox.git /tmp/flox; \
|
|
cd /tmp/flox/backend; \
|
|
composer --no-cache install;
|
|
|
|
FROM php:8.0.3-fpm-buster@sha256:01737fc2c58dded88f12a089291e9d862a94fcf0511ffbc426b379fdbd8d2643
|
|
|
|
COPY --from=composer /tmp/flox /usr/share/flox
|
|
COPY --from=supercronic /go/bin/supercronic /usr/local/bin/supercronic
|
|
|
|
RUN set -ex; \
|
|
\
|
|
groupadd --system foo; \
|
|
useradd --no-log-init --system --gid foo --create-home foo; \
|
|
\
|
|
apt-get update; \
|
|
apt-get install -y --no-install-recommends \
|
|
supervisor \
|
|
gosu \
|
|
sqlite3 \
|
|
rsync \
|
|
libpq5 \
|
|
libpq-dev \
|
|
; \
|
|
chmod +x /usr/local/bin/supercronic; \
|
|
echo '* * * * * php /var/www/flox/backend/artisan schedule:run >> /dev/null 2>&1' > /crontab; \
|
|
\
|
|
mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"; \
|
|
\
|
|
mkdir -p \
|
|
/var/log/supervisord \
|
|
/var/run/supervisord \
|
|
/var/www/flox \
|
|
; \
|
|
docker-php-ext-install -j "$(nproc)" \
|
|
bcmath \
|
|
pdo_mysql \
|
|
pdo_pgsql \
|
|
opcache \
|
|
; \
|
|
apt-get purge -y --autoremove libpq-dev; \
|
|
rm -rf /var/lib/apt/lists/*;
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
COPY supervisord.conf /supervisord.conf
|
|
|
|
VOLUME [ "/var/www/flox" ]
|
|
WORKDIR /var/www/flox
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
|