| 1 |
FROM composer:latest AS composer_installer
|
| 2 |
|
| 3 |
# Set working directory
|
| 4 |
RUN mkdir -p /usr/local/composer
|
| 5 |
|
| 6 |
WORKDIR /usr/local/composer
|
| 7 |
|
| 8 |
COPY ./leafok_bbs/composer.json ./leafok_bbs/composer.lock ./
|
| 9 |
RUN /usr/bin/composer install --prefer-dist --no-scripts --no-progress
|
| 10 |
|
| 11 |
# Use the official Apache image
|
| 12 |
FROM httpd:2.4
|
| 13 |
|
| 14 |
# Copy the custom configuration file
|
| 15 |
COPY ./leafok_bbs/Dockerfile/httpd-vhosts.conf /usr/local/apache2/conf/extra/httpd-vhosts.conf
|
| 16 |
RUN sed -i 's/#Include conf\/extra\/httpd-vhosts.conf/Include conf\/extra\/httpd-vhosts.conf/' /usr/local/apache2/conf/httpd.conf
|
| 17 |
|
| 18 |
# Copy web application files
|
| 19 |
COPY ./leafok_bbs/bbs /var/www/html/bbs
|
| 20 |
COPY ./leafok_bbs/gen_ex /var/www/html/gen_ex
|
| 21 |
COPY ./leafok_bbs/js /var/www/html/js
|
| 22 |
COPY ./leafok_bbs/lib /var/www/html/lib
|
| 23 |
COPY ./leafok_bbs/manage /var/www/html/manage
|
| 24 |
RUN mkdir -p /var/www/html/bbs/cache \
|
| 25 |
/var/www/html/bbs/upload \
|
| 26 |
/var/www/html/bbs/images/face/upload_photo \
|
| 27 |
/var/www/html/conf /var/www/html/stat \
|
| 28 |
/var/www/html/export_xml
|
| 29 |
|
| 30 |
# Copy the composer binary from the installer stage into your final image
|
| 31 |
COPY --from=composer_installer /usr/local/composer/vendor /var/www/html/vendor
|
| 32 |
|
| 33 |
COPY ./conf/db_conn.conf.php /var/www/html/conf/db_conn.conf.php
|
| 34 |
COPY ./conf/site.conf.php /var/www/html/conf/site.conf.php
|
| 35 |
COPY ./conf/smtp.conf.php /var/www/html/conf/smtp.conf.php
|
| 36 |
COPY ./leafok_bbs/TODO/conf/badwords.conf /var/www/html/conf/badwords.conf
|
| 37 |
COPY ./leafok_bbs/TODO/conf/deny_reg.conf /var/www/html/conf/deny_reg.conf
|
| 38 |
COPY ./conf/solr.conf.php /var/www/html/conf/solr.conf.php
|
| 39 |
|
| 40 |
COPY ./data/eula.txt /var/www/html/bbs/doc/eula.txt
|
| 41 |
|
| 42 |
# Set ownership to www-data user and group
|
| 43 |
RUN chown -R www-data:www-data /var/www/html
|