File size: 2,804 Bytes
e5512a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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 \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*

RUN pecl install imagick && \
  docker-php-ext-enable imagick

RUN a2enmod rewrite mime

WORKDIR /var/www/html

RUN curl -L https://github.com/lsky-org/lsky-pro/releases/download/2.1/lsky-pro-2.1.zip -o lsky-pro.zip \
  && unzip lsky-pro.zip \
  && rm lsky-pro.zip \
  && chmod -R 777 /var/www/html/storage \
  && chmod -R 777 /var/www/html/bootstrap/cache

RUN mkdir -p /var/www/html/storage/app/public/images \
  && chmod -R 777 /var/www/html/storage \
  && chown -R www-data:www-data /var/www/html/storage

RUN echo 'ServerName 127.0.0.1' >> /etc/apache2/apache2.conf

RUN 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

RUN 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

RUN 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

RUN 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
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

RUN pip install --upgrade pip && \
  pip install huggingface_hub cryptography

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