Create Dockerfile
Browse files- Dockerfile +102 -0
Dockerfile
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM php:8.1-apache
|
2 |
+
|
3 |
+
RUN apt-get update && apt-get install -y \
|
4 |
+
libfreetype6-dev \
|
5 |
+
libjpeg62-turbo-dev \
|
6 |
+
libpng-dev \
|
7 |
+
libzip-dev \
|
8 |
+
unzip \
|
9 |
+
git \
|
10 |
+
libmagickwand-dev \
|
11 |
+
wget \
|
12 |
+
python3 \
|
13 |
+
python3-venv \
|
14 |
+
python3-pip \
|
15 |
+
build-essential \
|
16 |
+
libssl-dev \
|
17 |
+
libffi-dev \
|
18 |
+
python3-dev \
|
19 |
+
cargo \
|
20 |
+
pkg-config \
|
21 |
+
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
22 |
+
&& docker-php-ext-install -j$(nproc) gd pdo pdo_mysql zip exif fileinfo bcmath \
|
23 |
+
&& pecl install imagick \
|
24 |
+
&& docker-php-ext-enable imagick \
|
25 |
+
&& a2enmod rewrite mime \
|
26 |
+
&& apt-get clean \
|
27 |
+
&& rm -rf /var/lib/apt/lists/*
|
28 |
+
|
29 |
+
WORKDIR /var/www/html
|
30 |
+
|
31 |
+
RUN curl -L https://github.com/zjmkkk/lsky-pro/releases/download/lsky-pro/lsky-pro.zip -o lsky-pro.zip \
|
32 |
+
&& unzip lsky-pro.zip \
|
33 |
+
&& rm lsky-pro.zip \
|
34 |
+
&& touch /var/www/html/.env \
|
35 |
+
&& mkdir -p /var/www/html/database \
|
36 |
+
&& touch /var/www/html/database/database.sqlite \
|
37 |
+
&& mkdir -p /var/www/html/storage/app/public/images \
|
38 |
+
&& mkdir -p /var/www/html/public/storage \
|
39 |
+
&& chmod 777 /var/www/html/.env \
|
40 |
+
&& chmod -R 777 /var/www/html/database \
|
41 |
+
&& chmod -R 777 /var/www/html/storage \
|
42 |
+
&& chmod -R 777 /var/www/html/bootstrap/cache \
|
43 |
+
&& chmod -R 777 /var/www/html/public \
|
44 |
+
&& ln -sf /var/www/html/storage/app/public /var/www/html/public/storage \
|
45 |
+
&& chown -R www-data:www-data /var/www/html
|
46 |
+
|
47 |
+
RUN echo 'ServerName 127.0.0.1' >> /etc/apache2/apache2.conf \
|
48 |
+
&& echo '<VirtualHost *:7860>\n\
|
49 |
+
DocumentRoot /var/www/html/public\n\
|
50 |
+
ErrorLog ${APACHE_LOG_DIR}/error.log\n\
|
51 |
+
CustomLog ${APACHE_LOG_DIR}/access.log combined\n\
|
52 |
+
<Directory /var/www/html/public>\n\
|
53 |
+
Options Indexes FollowSymLinks\n\
|
54 |
+
AllowOverride All\n\
|
55 |
+
Require all granted\n\
|
56 |
+
</Directory>\n\
|
57 |
+
<Directory /var/www/html>\n\
|
58 |
+
Options Indexes FollowSymLinks\n\
|
59 |
+
AllowOverride All\n\
|
60 |
+
Require all granted\n\
|
61 |
+
</Directory>\n\
|
62 |
+
</VirtualHost>' > /etc/apache2/sites-available/000-default.conf \
|
63 |
+
&& echo '<IfModule mod_mime.c>\n\
|
64 |
+
AddType image/jpeg .jpg .jpeg\n\
|
65 |
+
AddType image/png .png\n\
|
66 |
+
AddType image/gif .gif\n\
|
67 |
+
</IfModule>' >> /etc/apache2/apache2.conf \
|
68 |
+
&& sed -i 's/80/7860/g' /etc/apache2/ports.conf
|
69 |
+
|
70 |
+
RUN { \
|
71 |
+
echo 'open_basedir = /var/www/html:/tmp:/usr/local/lib/php'; \
|
72 |
+
echo 'session.save_path = "/var/lib/php/sessions"'; \
|
73 |
+
echo 'session.gc_maxlifetime = 14400'; \
|
74 |
+
echo 'session.cookie_lifetime = 14400'; \
|
75 |
+
echo 'display_errors = On'; \
|
76 |
+
echo 'log_errors = On'; \
|
77 |
+
echo 'error_log = /var/log/php_errors.log'; \
|
78 |
+
echo 'memory_limit = 256M'; \
|
79 |
+
echo 'max_execution_time = 300'; \
|
80 |
+
echo 'upload_max_filesize = 100M'; \
|
81 |
+
echo 'post_max_size = 100M'; \
|
82 |
+
} > /usr/local/etc/php/conf.d/custom.ini \
|
83 |
+
&& mkdir -p /var/lib/php/sessions \
|
84 |
+
&& chmod 777 /var/lib/php/sessions \
|
85 |
+
&& chown -R www-data:www-data /var/lib/php/sessions
|
86 |
+
|
87 |
+
ENV VIRTUAL_ENV=/opt/venv
|
88 |
+
RUN python3 -m venv $VIRTUAL_ENV \
|
89 |
+
&& $VIRTUAL_ENV/bin/pip install --upgrade pip \
|
90 |
+
&& $VIRTUAL_ENV/bin/pip install huggingface_hub cryptography
|
91 |
+
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
92 |
+
|
93 |
+
|
94 |
+
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
|
95 |
+
ENV APACHE_LOG_DIR /var/log/apache2
|
96 |
+
|
97 |
+
COPY sync_data.sh /
|
98 |
+
RUN chmod +x /sync_data.sh
|
99 |
+
|
100 |
+
EXPOSE 7860
|
101 |
+
|
102 |
+
CMD ["/sync_data.sh"]
|