FROM lsiobase/nginx: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 \ curl \ ffmpeg \ imagemagick \ jpegoptim \ libxml2 \ optipng \ php7-bcmath \ php7-ctype \ php7-curl \ php7-dom \ php7-exif \ php7-gd \ php7-iconv \ php7-imagick \ php7-intl \ php7-pcntl \ php7-pdo_pgsql \ php7-pgsql \ php7-phar \ php7-posix \ php7-tokenizer \ php7-zip \ 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/ / EXPOSE 80 VOLUME /srv/www/pixelfed/storage