I have a lot of difficulties setting up a Dockerfile with the relevant architecture and permissions for a Laravel app in an Appache server deployed in Cloud Run.
I am currently facing a 500 Internal Server Error with the current Dockerfile:
FROM php:7.4-apache
# intialize the machine with required apt-get packages and php extensions
RUN apt-get update && apt-get install -y libpng-dev zip unzip wget zlib1g-dev libicu-dev libzip-dev
RUN docker-php-ext-install mysqli pdo_mysql zip exif
RUN apt-get install -y \
    libwebp-dev \
    libjpeg62-turbo-dev \
    libpng-dev libxpm-dev \
    libfreetype6-dev
RUN docker-php-ext-install gd
COPY --from=composer:1.9 /usr/bin/composer /usr/bin/composer
# copy app in full
WORKDIR /var/www/
COPY . /var/www/
# install dependencies
RUN composer global require hirak/prestissimo && composer install
EXPOSE 8080
COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf
COPY .env.example /var/www/.env
RUN chmod 777 -R /var/www/storage/ && \
    echo "Listen 8080" >> /etc/apache2/ports.conf && \
    chown -R www-data:www-data /var/www/ && \
    a2enmod rewrite
And the following .htaccess in the public folder:
RewriteEngine On
RewriteBase /API/
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Authorization Headers
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
and the 000-default.conf:
<VirtualHost *:8080>
  ServerAdmin admin@email.com
  DocumentRoot /var/www/public/
  <Directory /var/www/>
    AllowOverride All
    Require all granted
  </Directory>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
I tried everything available online, but I really can't figure what's going on.
Could one of you spot any obvious flaws?