File size: 2,463 Bytes
3742b0c
ee8a38c
3742b0c
ee8a38c
 
3742b0c
ee8a38c
3742b0c
 
 
 
 
 
 
 
 
 
 
 
ee8a38c
3742b0c
ee8a38c
3742b0c
ee8a38c
 
 
3742b0c
 
ee8a38c
 
 
 
dc5e94d
3742b0c
dc5e94d
ee8a38c
3742b0c
 
 
7bcd13e
 
 
 
 
 
 
 
 
 
 
ee8a38c
3742b0c
 
 
 
 
 
 
 
 
ee8a38c
 
 
 
 
3742b0c
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
FROM debian:bullseye-slim

# Expose HuggingFace port
EXPOSE 7860

# Install Apache, PHP 7.4 and extensions
RUN apt-get update && apt-get install -y \
    apache2 \
    php7.4 \
    php7.4-cli \
    php7.4-mysql \
    php7.4-pgsql \
    php7.4-gd \
    php7.4-xml \
    php7.4-mbstring \
    php7.4-curl \
    php7.4-zip \
    php7.4-soap \
    libapache2-mod-php7.4 \
    wget \
    curl \
    git \
    && a2enmod rewrite php7.4 \
    && rm -rf /var/lib/apt/lists/*

# Configure Apache for port 7860
RUN sed -i 's/Listen 80/Listen 7860/g' /etc/apache2/ports.conf \
    && sed -i 's/:80/:7860/g' /etc/apache2/sites-available/000-default.conf

# Set ServerName
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf

# Copy ProcessMaker files
WORKDIR /var/www/html
COPY processmaker-files/ /var/www/html/

# Set DocumentRoot to workflow/public_html
RUN sed -i 's|DocumentRoot /var/www/html|DocumentRoot /var/www/html/workflow/public_html|' /etc/apache2/sites-available/000-default.conf

# Configure Apache to use app.php as index and enable mod_rewrite
RUN sed -i 's|<Directory /var/www/>|<Directory /var/www/html/workflow/public_html/>\n\tOptions Indexes FollowSymLinks\n\tAllowOverride All\n\tDirectoryIndex app.php index.html index.php\n\tRequire all granted\n</Directory>\n\n<Directory /var/www/>|' /etc/apache2/apache2.conf

# Create .htaccess for URL rewriting
RUN echo '<IfModule mod_rewrite.c>' > /var/www/html/workflow/public_html/.htaccess.rewrite && \
    echo '    RewriteEngine On' >> /var/www/html/workflow/public_html/.htaccess.rewrite && \
    echo '    RewriteCond %{REQUEST_FILENAME} !-f' >> /var/www/html/workflow/public_html/.htaccess.rewrite && \
    echo '    RewriteCond %{REQUEST_FILENAME} !-d' >> /var/www/html/workflow/public_html/.htaccess.rewrite && \
    echo '    RewriteRule ^(.*)$ app.php [QSA,L]' >> /var/www/html/workflow/public_html/.htaccess.rewrite && \
    echo '</IfModule>' >> /var/www/html/workflow/public_html/.htaccess.rewrite && \
    cat /var/www/html/workflow/public_html/.htaccess.rewrite >> /var/www/html/workflow/public_html/.htaccess

# Set permissions (like Laravel TODO)
RUN chmod -R 777 /var/www/html

# Environment variables for database
ENV DB_HOST=${DB_HOST:-localhost}
ENV DB_PORT=${DB_PORT:-5432}
ENV DB_NAME=${DB_NAME:-postgres}
ENV DB_USER=${DB_USER:-postgres}
ENV DB_PASS=${DB_PASS:-}

# Copy entrypoint script
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

CMD ["/entrypoint.sh"]