101 lines
2.4 KiB
Docker
101 lines
2.4 KiB
Docker
FROM lsiobase/alpine:arm64v8-3.11
|
|
|
|
# set version label
|
|
ARG BUILD_DATE
|
|
ARG VERSION
|
|
ARG PIXELFED_RELEASE
|
|
LABEL build_version="Build version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
|
LABEL maintainer="asonix"
|
|
|
|
# environment settings
|
|
ENV PIXELFED_PATH="/srv/www/pixelfed"
|
|
|
|
RUN \
|
|
echo "**** install runtime packages ****" && \
|
|
apk add --no-cache --upgrade \
|
|
apache2-utils \
|
|
curl \
|
|
ffmpeg \
|
|
git \
|
|
imagemagick \
|
|
jpegoptim \
|
|
libressl3.0-libssl \
|
|
libxml2 \
|
|
nano \
|
|
openssl \
|
|
optipng \
|
|
php7 \
|
|
php7-bcmath \
|
|
php7-ctype \
|
|
php7-curl \
|
|
php7-dom \
|
|
php7-exif \
|
|
php7-fileinfo \
|
|
php7-gd \
|
|
php7-iconv \
|
|
php7-imagick \
|
|
php7-intl \
|
|
php7-json \
|
|
php7-mbstring \
|
|
php7-openssl \
|
|
php7-pcntl \
|
|
php7-pdo_pgsql \
|
|
php7-pgsql \
|
|
php7-phar \
|
|
php7-posix \
|
|
php7-session \
|
|
php7-simplexml \
|
|
php7-tokenizer \
|
|
php7-xml \
|
|
php7-xmlwriter \
|
|
php7-zip \
|
|
php7-zlib \
|
|
pngquant \
|
|
rsync \
|
|
sudo \
|
|
tar \
|
|
unzip
|
|
|
|
# install composer
|
|
RUN \
|
|
echo "**** install composer ****" && \
|
|
set -ex; \
|
|
SIGNATURE="$(curl https://composer.github.io/installer.sig)"; \
|
|
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
|
|
SIG="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"; \
|
|
test "$SIGNATURE" = "$SIG"; \
|
|
php composer-setup.php --install-dir /usr/local/bin --filename=composer; \
|
|
echo "**** cleanup ****" && \
|
|
rm composer-setup.php
|
|
|
|
# install pixelfed
|
|
RUN \
|
|
echo "**** download pixelfed ****" && \
|
|
curl -o /app/pixelfed.tar.gz -L \
|
|
"https://github.com/pixelfed/pixelfed/archive/${PIXELFED_RELEASE}.tar.gz" && \
|
|
echo "**** install pixelfed ****" && \
|
|
mkdir -p "${PIXELFED_PATH}" && \
|
|
tar zxf /app/pixelfed.tar.gz -C "${PIXELFED_PATH}" --strip-components=1 && \
|
|
chown abc:abc -R "${PIXELFED_PATH}" && \
|
|
echo "**** cleanup ****" && \
|
|
rm /app/pixelfed.tar.gz
|
|
|
|
# prepare pixelfed
|
|
WORKDIR /srv/www/pixelfed
|
|
USER abc
|
|
RUN \
|
|
echo "**** prepare pixelfed ****" && \
|
|
composer install \
|
|
--no-ansi \
|
|
--no-interaction \
|
|
--optimize-autoloader \
|
|
--no-scripts \
|
|
--no-progress && \
|
|
cp -r storage storage-default
|
|
WORKDIR /
|
|
USER root
|
|
|
|
# copy local files
|
|
COPY root/ /
|
|
|
|
VOLUME /srv/www/pixelfed/storage
|