sugar404 commited on
Commit
c3da5db
·
verified ·
1 Parent(s): 9cfed18

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
+ && 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"]