keyikai commited on
Commit
d95420f
·
verified ·
1 Parent(s): eb25c4f

Create Dockerfile

Browse files
Files changed (1) hide show
  1. 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
+ && apt-get clean \
24
+ && rm -rf /var/lib/apt/lists/*
25
+
26
+ RUN pecl install imagick && \
27
+ docker-php-ext-enable imagick
28
+
29
+ RUN a2enmod rewrite mime
30
+
31
+ WORKDIR /var/www/html
32
+
33
+ RUN curl -L https://github.com/lsky-org/lsky-pro/releases/download/2.1/lsky-pro-2.1.zip -o lsky-pro.zip \
34
+ && unzip lsky-pro.zip \
35
+ && rm lsky-pro.zip \
36
+ && chmod -R 777 /var/www/html/storage \
37
+ && chmod -R 777 /var/www/html/bootstrap/cache
38
+
39
+ RUN mkdir -p /var/www/html/storage/app/public/images \
40
+ && chmod -R 777 /var/www/html/storage \
41
+ && chown -R www-data:www-data /var/www/html/storage
42
+
43
+ RUN echo 'ServerName 127.0.0.1' >> /etc/apache2/apache2.conf
44
+
45
+ RUN echo '<VirtualHost *:7860>\n\
46
+ DocumentRoot /var/www/html/public\n\
47
+ ErrorLog ${APACHE_LOG_DIR}/error.log\n\
48
+ CustomLog ${APACHE_LOG_DIR}/access.log combined\n\
49
+ <Directory /var/www/html/public>\n\
50
+ Options Indexes FollowSymLinks\n\
51
+ AllowOverride All\n\
52
+ Require all granted\n\
53
+ </Directory>\n\
54
+ <Directory /var/www/html>\n\
55
+ Options Indexes FollowSymLinks\n\
56
+ AllowOverride All\n\
57
+ Require all granted\n\
58
+ </Directory>\n\
59
+ </VirtualHost>' > /etc/apache2/sites-available/000-default.conf
60
+
61
+ RUN echo '<IfModule mod_mime.c>\n\
62
+ AddType image/jpeg .jpg .jpeg\n\
63
+ AddType image/png .png\n\
64
+ AddType image/gif .gif\n\
65
+ </IfModule>' >> /etc/apache2/apache2.conf
66
+
67
+ RUN sed -i 's/80/7860/g' /etc/apache2/ports.conf
68
+
69
+ RUN { \
70
+ echo 'open_basedir = /var/www/html:/tmp:/usr/local/lib/php'; \
71
+ echo 'session.save_path = "/var/lib/php/sessions"'; \
72
+ echo 'session.gc_maxlifetime = 14400'; \
73
+ echo 'session.cookie_lifetime = 14400'; \
74
+ echo 'display_errors = On'; \
75
+ echo 'log_errors = On'; \
76
+ echo 'error_log = /var/log/php_errors.log'; \
77
+ echo 'memory_limit = 256M'; \
78
+ echo 'max_execution_time = 300'; \
79
+ echo 'upload_max_filesize = 100M'; \
80
+ echo 'post_max_size = 100M'; \
81
+ } > /usr/local/etc/php/conf.d/custom.ini
82
+
83
+ RUN 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
+ ENV PATH="$VIRTUAL_ENV/bin:$PATH"
90
+
91
+ RUN pip install --upgrade pip && \
92
+ pip install huggingface_hub cryptography
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"]