2022-04-16 01:25:32 +02:00
|
|
|
FROM composer:1.10.17 AS composer
|
|
|
|
|
|
|
|
# build flox
|
|
|
|
RUN \
|
|
|
|
echo "**** building flox ****" && \
|
|
|
|
apk add git && \
|
|
|
|
git clone --branch master https://github.com/devfake/flox.git /build/flox && \
|
|
|
|
cd /build/flox/backend && \
|
|
|
|
composer install
|
|
|
|
|
|
|
|
###########################################
|
|
|
|
|
2022-11-18 00:04:47 +01:00
|
|
|
FROM cr.44net.ch/baseimages/debian-s6:11.5.5
|
2022-04-16 01:25:32 +02:00
|
|
|
|
|
|
|
# set version label
|
2022-06-18 13:50:11 +02:00
|
|
|
ARG BUILD_VERSION
|
|
|
|
ENV FLOX_VERSION=${BUILD_VERSION}
|
|
|
|
LABEL version="${BUILD_VERSION}"
|
2022-04-16 01:25:32 +02:00
|
|
|
LABEL maintainer="Ivan Schaller"
|
2022-06-18 13:50:11 +02:00
|
|
|
LABEL description="A personal watchlist"
|
2022-04-16 01:25:32 +02:00
|
|
|
|
|
|
|
|
2022-06-18 13:50:11 +02:00
|
|
|
# copy app from build step
|
2022-04-16 01:25:32 +02:00
|
|
|
COPY --from=composer /build/flox /app/flox
|
|
|
|
|
2022-06-18 13:50:11 +02:00
|
|
|
|
2022-04-16 01:25:32 +02:00
|
|
|
# install packages
|
2022-06-18 13:50:11 +02:00
|
|
|
ARG db_path='/flox/backend/database/db.sqlite'
|
2022-04-16 01:25:32 +02:00
|
|
|
RUN \
|
|
|
|
echo "**** installing base packages ****" && \
|
|
|
|
apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
sqlite3 \
|
|
|
|
php7.4 \
|
|
|
|
php7.4-sqlite3 \
|
|
|
|
php-fpm \
|
|
|
|
php-xml \
|
|
|
|
php-mbstring \
|
|
|
|
php-bcmath \
|
|
|
|
php-opcache \
|
|
|
|
nginx \
|
|
|
|
&& \
|
|
|
|
echo "**** prepare app ****" && \
|
|
|
|
touch "/app${db_path}" && \
|
|
|
|
cd /app/flox/backend && \
|
|
|
|
php artisan flox:init --no-interaction "${db_path}" && \
|
|
|
|
sed -i \
|
|
|
|
-e 's,DB_CONNECTION=.*,DB_CONNECTION=sqlite,g' \
|
|
|
|
-e 's,DB_DATABASE=.*,DB_DATABASE='"${db_path}"',g' \
|
|
|
|
/app/flox/backend/.env && \
|
|
|
|
echo "**** other preparation ****" && \
|
2022-06-18 13:50:11 +02:00
|
|
|
mkdir -p /run/php/ && \
|
2022-04-16 01:25:32 +02:00
|
|
|
touch /run/php/php7.4-fpm.sock && \
|
|
|
|
sed -i \
|
|
|
|
-e 's,user =.*,user = abc,g' \
|
|
|
|
-e 's,group =.*,group = abc,g' \
|
|
|
|
-e 's,listen.owner =.*,listen.owner = abc,g' \
|
|
|
|
-e 's,listen.group =.*,listen.group = abc,g' \
|
|
|
|
/etc/php/7.4/fpm/pool.d/www.conf && \
|
|
|
|
chown -R abc:abc /app/flox && \
|
|
|
|
echo "**** cleanup ****" && \
|
|
|
|
apt-get purge --auto-remove -y && \
|
|
|
|
apt-get clean && \
|
|
|
|
rm -rf \
|
|
|
|
/tmp/* \
|
|
|
|
/var/lib/apt/lists/* \
|
|
|
|
/var/tmp/*
|
|
|
|
|
|
|
|
|
|
|
|
# copy files to container
|
|
|
|
COPY rootfs /
|
|
|
|
|
|
|
|
WORKDIR /flox
|
|
|
|
|
|
|
|
EXPOSE 8080
|
|
|
|
|