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 '\n\ DocumentRoot /var/www/html/public\n\ ErrorLog ${APACHE_LOG_DIR}/error.log\n\ CustomLog ${APACHE_LOG_DIR}/access.log combined\n\ \n\ Options Indexes FollowSymLinks\n\ AllowOverride All\n\ Require all granted\n\ \n\ \n\ Options Indexes FollowSymLinks\n\ AllowOverride All\n\ Require all granted\n\ \n\ ' > /etc/apache2/sites-available/000-default.conf \ && echo '\n\ AddType image/jpeg .jpg .jpeg\n\ AddType image/png .png\n\ AddType image/gif .gif\n\ ' >> /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"]