docker/Dockerfilephp82
FROM debian:stable
LABEL maintainer="lachlan-00"
ENV DEBIAN_FRONTEND=noninteractive
RUN sh -c 'echo "Types: deb\n# http://snapshot.debian.org/archive/debian/20230612T000000Z\nURIs: http://deb.debian.org/debian\nSuites: stable stable-updates\nComponents: main contrib non-free\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\nTypes: deb\n# http://snapshot.debian.org/archive/debian-security/20230612T000000Z\nURIs: http://deb.debian.org/debian-security\nSuites: stable-security\nComponents: main\nSigned-By: /usr/share/keyrings/debian-archive-keyring.gpg\n" > /etc/apt/sources.list.d/debian.sources' \
&& apt-get -q -q update \
&& apt-get -q -q -y install --no-install-recommends wget lsb-release ca-certificates curl software-properties-common libdvd-pkg \
&& curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg \
&& sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php2.list' \
&& apt-get update \
&& apt-get -q -q -y install --no-install-recommends \
apache2 \
build-essential \
cron \
ffmpeg \
flac \
git \
gosu \
inotify-tools \
lame \
libavcodec-extra \
libev-libevent-dev \
libicu-dev \
libfaac-dev \
libmp3lame-dev \
libtheora-dev \
libvorbis-dev \
libvpx-dev \
locales \
logrotate \
make \
p7zip-full \
php8.2 \
php8.2-curl \
php8.2-dev \
php8.2-gd \
php8.2-intl \
php8.2-ldap \
php8.2-mysql \
php8.2-xml \
php8.2-zip \
php-pear \
pwgen \
supervisor \
vorbis-tools \
zip \
unzip \
&& update-alternatives --set php /usr/bin/php8.2 \
&& update-alternatives --set phpize /usr/bin/phpize8.2 \
&& update-alternatives --set php-config /usr/bin/php-config8.2 \
&& phpenmod -v 8.2 xml \
&& rm -rf /var/www/html/* /etc/apache2/sites-enabled/* /var/lib/apt/lists/* \
&& mkdir -p /var/log/ampache \
&& chown -R www-data:www-data /var/log/ampache \
&& chmod 775 /var/log/ampache \
&& chown -R www-data:www-data /media \
&& chmod -R 775 /media \
&& chown -R www-data:www-data /var/www \
&& chmod -R 775 /var/www \
&& ln -s /etc/apache2/sites-available/001-ampache.conf /etc/apache2/sites-enabled/ \
&& a2enmod rewrite \
&& sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
&& locale-gen \
&& apt-get -qq purge \
libdvd-pkg \
lsb-release \
software-properties-common \
unzip \
&& apt-get -qq autoremove \
&& pecl install xdebug \
&& echo "zend_extension=$(find /usr/lib/php/ -name xdebug.so)" > /etc/php/8.2/apache2/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /etc/php/8.2/apache2/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /etc/php/8.2/apache2/conf.d/xdebug.ini \
&& wget -q -O /usr/local/bin/composer https://getcomposer.org/download/latest-stable/composer.phar \
&& chmod +x /usr/local/bin/composer
VOLUME ["/var/log/ampache", "/var/www/html"]
EXPOSE 80
COPY docker/data/bin/apache2.sh docker/data/bin/run.sh docker/data/bin/composer.sh /usr/local/bin/
COPY docker/data/sites-enabled/001-ampache.conf /etc/apache2/sites-available/
COPY docker/data/conf.d/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN chmod +x /usr/local/bin/*.sh
CMD ["run.sh"]