Files
dsp/Dockerfile
2026-01-29 14:31:48 +07:00

44 lines
1.2 KiB
Docker

# Dockerfile for DSP PHP application with R support
FROM php:8.2-apache
# Install system dependencies and PHP extensions
RUN apt-get update && apt-get install -y \
libpng-dev \
libonig-dev \
libzip-dev \
zip \
unzip \
git \
default-mysql-client \
r-base \
&& docker-php-ext-install pdo_mysql \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install required R packages
RUN Rscript -e "install.packages('jsonlite', repos='https://cloud.r-project.org')"
# Enable Apache modules commonly used by PHP apps
RUN a2enmod rewrite
# Set working directory
WORKDIR /var/www/html
# Copy project files into the container (can be overridden by bind mount in docker-compose)
COPY . /var/www/html
# Ensure upload directories are writable by the web server
RUN chown -R www-data:www-data /var/www/html/uploads
# Increase default PHP upload limits
COPY docker/custom.ini /usr/local/etc/php/conf.d/uploads.ini
# Copy entrypoint script
COPY docker/app-entrypoint.sh /usr/local/bin/app-entrypoint.sh
RUN chmod +x /usr/local/bin/app-entrypoint.sh
# Expose Apache port
EXPOSE 80
ENTRYPOINT ["app-entrypoint.sh"]