This repository has been archived on 2024-02-04. You can view files and clone it, but cannot push or open issues or pull requests.
flox-dockerized/Dockerfile.arm64

77 lines
1.8 KiB
Docker
Raw Permalink Normal View History

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
###########################################
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