|
FROM php:8.1-apache |
|
|
|
RUN apt-get update && apt-get install -y \ |
|
libfreetype6-dev \ |
|
libjpeg62-turbo-dev \ |
|
libpng-dev \ |
|
libzip-dev \ |
|
unzip \ |
|
git \ |
|
libmagickwand-dev \ |
|
wget \ |
|
python3 \ |
|
python3-venv \ |
|
python3-pip \ |
|
build-essential \ |
|
libssl-dev \ |
|
libffi-dev \ |
|
python3-dev \ |
|
cargo \ |
|
pkg-config \ |
|
&& docker-php-ext-configure gd --with-freetype --with-jpeg \ |
|
&& docker-php-ext-install -j$(nproc) gd pdo pdo_mysql zip exif fileinfo bcmath \ |
|
&& pecl install imagick \ |
|
&& docker-php-ext-enable imagick \ |
|
&& a2enmod rewrite mime \ |
|
&& apt-get clean \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
WORKDIR /var/www/html |
|
|
|
RUN curl -L https://github.com/zjmkkk/lsky-pro/releases/download/lsky-pro/lsky-pro.zip -o lsky-pro.zip \ |
|
&& unzip lsky-pro.zip \ |
|
&& rm lsky-pro.zip \ |
|
&& touch /var/www/html/.env \ |
|
&& mkdir -p /var/www/html/database \ |
|
&& touch /var/www/html/database/database.sqlite \ |
|
&& mkdir -p /var/www/html/storage/app/public/images \ |
|
&& mkdir -p /var/www/html/public/storage \ |
|
&& chmod 777 /var/www/html/.env \ |
|
&& chmod -R 777 /var/www/html/database \ |
|
&& chmod -R 777 /var/www/html/storage \ |
|
&& chmod -R 777 /var/www/html/bootstrap/cache \ |
|
&& chmod -R 777 /var/www/html/public \ |
|
&& ln -sf /var/www/html/storage/app/public /var/www/html/public/storage \ |
|
&& chown -R www-data:www-data /var/www/html |
|
|
|
RUN echo 'ServerName 127.0.0.1' >> /etc/apache2/apache2.conf \ |
|
&& echo '<VirtualHost *:7860>\n\ |
|
DocumentRoot /var/www/html/public\n\ |
|
ErrorLog ${APACHE_LOG_DIR}/error.log\n\ |
|
CustomLog ${APACHE_LOG_DIR}/access.log combined\n\ |
|
<Directory /var/www/html/public>\n\ |
|
Options Indexes FollowSymLinks\n\ |
|
AllowOverride All\n\ |
|
Require all granted\n\ |
|
</Directory>\n\ |
|
<Directory /var/www/html>\n\ |
|
Options Indexes FollowSymLinks\n\ |
|
AllowOverride All\n\ |
|
Require all granted\n\ |
|
</Directory>\n\ |
|
</VirtualHost>' > /etc/apache2/sites-available/000-default.conf \ |
|
&& echo '<IfModule mod_mime.c>\n\ |
|
AddType image/jpeg .jpg .jpeg\n\ |
|
AddType image/png .png\n\ |
|
AddType image/gif .gif\n\ |
|
</IfModule>' >> /etc/apache2/apache2.conf \ |
|
&& sed -i 's/80/7860/g' /etc/apache2/ports.conf |
|
|
|
RUN { \ |
|
echo 'open_basedir = /var/www/html:/tmp:/usr/local/lib/php'; \ |
|
echo 'session.save_path = "/var/lib/php/sessions"'; \ |
|
echo 'session.gc_maxlifetime = 14400'; \ |
|
echo 'session.cookie_lifetime = 14400'; \ |
|
echo 'display_errors = On'; \ |
|
echo 'log_errors = On'; \ |
|
echo 'error_log = /var/log/php_errors.log'; \ |
|
echo 'memory_limit = 256M'; \ |
|
echo 'max_execution_time = 300'; \ |
|
echo 'upload_max_filesize = 100M'; \ |
|
echo 'post_max_size = 100M'; \ |
|
} > /usr/local/etc/php/conf.d/custom.ini \ |
|
&& mkdir -p /var/lib/php/sessions \ |
|
&& chmod 777 /var/lib/php/sessions \ |
|
&& chown -R www-data:www-data /var/lib/php/sessions |
|
|
|
ENV VIRTUAL_ENV=/opt/venv |
|
RUN python3 -m venv $VIRTUAL_ENV \ |
|
&& $VIRTUAL_ENV/bin/pip install --upgrade pip \ |
|
&& $VIRTUAL_ENV/bin/pip install huggingface_hub cryptography |
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH" |
|
|
|
|
|
ENV APACHE_DOCUMENT_ROOT /var/www/html/public |
|
ENV APACHE_LOG_DIR /var/log/apache2 |
|
|
|
COPY sync_data.sh / |
|
RUN chmod +x /sync_data.sh |
|
|
|
EXPOSE 7860 |
|
|
|
CMD ["/sync_data.sh"] |