diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index b62d220..f4844e2 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -1,27 +1,55 @@
FROM php:8.1-apache
-ENV APACHE_DOCUMENT_ROOT /var/www/html/public
+ENV APACHE_DOCUMENT_ROOT /var/www/html
ENV APACHE_SERVER_NAME localhost
+#ENV APACHE_SERVER_NAME 172.0.0.1
ENV PATH="$PATH"
-WORKDIR /var/www/html
-RUN apt-get update
+# Install php and extensions
+RUN apt-get update
RUN apt-get install -y \
+ git zip \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libicu-dev \
+ libxml2-dev \
+ libxslt1-dev \
+ libzip-dev \
+ zip \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install -j$(nproc) intl \
- && docker-php-ext-install -j$(nproc) pdo_mysql
+ && docker-php-ext-install -j$(nproc) pdo_mysql \
+ && docker-php-ext-install bcmath \
+ && docker-php-ext-install soap \
+ && docker-php-ext-install xsl \
+ && docker-php-ext-install zip \
+ && docker-php-ext-install sockets
+
+# Increase memory limit for php
+RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
+RUN echo 'memory_limit = 2048M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini;
-RUN apt-get install -y git zip
+# Create ssl directory for apache and copy vhost.conf
+RUN mkdir /etc/apache2/sites-available/ssl
+COPY ./apache/vhost.conf /etc/apache2/sites-available/000-default.conf
+
+# Copy app code into container -> NOTE: "./" -> means dir of volume in docker-compose (./../src:/var/www/html)
+COPY ./ /var/www/html
+
+WORKDIR /var/www/html
+RUN chown -R www-data:www-data /var/www/html && a2enmod rewrite ssl
+# Install nano
RUN apt install nano
+# Download an install composer
+RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
+
+# Install xdebug
RUN pecl install xdebug-3.1.5 \
&& docker-php-ext-enable xdebug \
&& echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
@@ -31,23 +59,14 @@ RUN pecl install xdebug-3.1.5 \
&& echo 'xdebug.log=/var/www/var/log/xdebug.log' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo 'xdebug.log_level=0' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
-RUN a2enmod rewrite && a2enmod headers
-RUN a2ensite 000-default
-
-COPY ./ /var/www/html
-
-RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
-RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
-
-
-RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
-
-RUN chown -R www-data:www-data /var/www/html/
+# Expose port 80
+#EXPOSE 80
-COPY /init.sh /init.sh
-RUN chmod 755 /init.sh
-RUN chmod +x /init.sh
-EXPOSE 80
+# Optional: shell script to initialize
+#COPY /init.sh /init.sh
+#RUN chmod 755 /init.sh
+#RUN chmod +x /init.sh
+#ENTRYPOINT ["/init.sh"]
-ENTRYPOINT ["/init.sh"]
+# Set apache foreground explicitely (maybe not necessary in all cases)
CMD ["apache2-foreground"]
\ No newline at end of file
diff --git a/.docker/apache/localhost.crt b/.docker/apache/localhost.crt
new file mode 100644
index 0000000..baa2be1
--- /dev/null
+++ b/.docker/apache/localhost.crt
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDDzCCAfegAwIBAgIUacRT0wfDwFpu2HEAkbuTxeF7UMswDQYJKoZIhvcNAQEL
+BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDkyOTA5MjM0M1oXDTIzMTAy
+OTA5MjM0M1owFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAwh2eWfKmijSIrDRZAJVcmg4oZgWUmJf+8DEgP+5KBB2b
+r88Vaw9+eNYo2NWMCEFswCFbyWfMcnDfIpybV25OQTJQjiGdCsXkRuEnIQbOMasz
+0mD+oWBzEVaB4SpLRAFpBKl8+XHgsAT6J3NTk26RhaZY6i+WqvAkY0R1fbFwJ31z
+9OYkNE8QeRoC+MQMWdiXuXflN+5NUUs8WR7zvr+CjSmHEUKpDnEv4MWUWkfiL2Zy
+xEPagl0IiHrXuXUWqzaq+mr+ATlnNouU+dcO44NdiBmzh2GVK442dW0JjgdQjUgs
+Y0XVQ2qh9u7x6TGU27jCgouM7gi1suOAxtKjQbEmbwIDAQABo1kwVzAUBgNVHREE
+DTALgglsb2NhbGhvc3QwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMB
+MB0GA1UdDgQWBBTepkPYYWeaCWfqRoVe2yHz8HHX+DANBgkqhkiG9w0BAQsFAAOC
+AQEAW6A/oqkgb32Mx7BaIWz491SEC6QWeQgQYres8WpiwP51aks10W41Ofli/JAS
+N69p6PmkpXrfrJPq5+rTqCquNtqVAaS6ub66uvGviavAvmYN/Ach3EniQePeVrMN
+F+QQkO4HCh930TIRI+966Vf1PmPw21uNR784bGtYVCZkL5RZftjNXX+VkK3UUbUd
+D70aAWrO+VE5WhVOZ8nptP1EkW0FskzXlRWgiwYjClircnIQyFqBrwrCfIkdkddi
+g+Yya0+8BPxluvpnRwXZBy4scQsgeYK36GRLj/hwjpJxuqzAKy3EvCx7l26orTXP
+vGRifB/WxTmhZKW3LXW3RjJ43Q==
+-----END CERTIFICATE-----
diff --git a/.docker/apache/localhost.key b/.docker/apache/localhost.key
new file mode 100644
index 0000000..1181840
--- /dev/null
+++ b/.docker/apache/localhost.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDCHZ5Z8qaKNIis
+NFkAlVyaDihmBZSYl/7wMSA/7koEHZuvzxVrD3541ijY1YwIQWzAIVvJZ8xycN8i
+nJtXbk5BMlCOIZ0KxeRG4SchBs4xqzPSYP6hYHMRVoHhKktEAWkEqXz5ceCwBPon
+c1OTbpGFpljqL5aq8CRjRHV9sXAnfXP05iQ0TxB5GgL4xAxZ2Je5d+U37k1RSzxZ
+HvO+v4KNKYcRQqkOcS/gxZRaR+IvZnLEQ9qCXQiIete5dRarNqr6av4BOWc2i5T5
+1w7jg12IGbOHYZUrjjZ1bQmOB1CNSCxjRdVDaqH27vHpMZTbuMKCi4zuCLWy44DG
+0qNBsSZvAgMBAAECggEAL62YtF0ePLn0i997sOH+0bQChjR+sBA9RP+7/RfpRCOF
+luQVTauLk+B+PewNrgVr0bEf21NMaxuAIv82RH5KaEcUdCSbbwb2L9ajhsAmKxry
+6ox6XmbTPIHz+rspq3VxNvzuPlKTLoi6bLAt6ftxcNNP6Y1ww2GifmNVPF81vezr
+5UegZM4IhibpMjat4KOWGQRq6tOyFbb0HxFaIwEOPFXiJOhm62mCaNXLW/LsyM99
+285t8G6tiEBkkI1TmSwaTW74sVqO6/7ixtNxbpgT3I0d4wTplbD6h1nmr7Jx3vfo
+GvfmnyVQ8F6iNVn9fmA8Fkd3NbHEbDoRXYfM/j4BwQKBgQDiuUcpFCe73ATWWRNT
+pKeFO5fDRk/8e3DB8pP7fjGyNMR/AWZlHHew3jddcq5USHCsIuSO6C5ziLvHa+Lu
+DoVTQ5Lx/u8wBDB+yuwt6kNzoxaL05H7lIllUVGBheF4HDXyOHhia6OWZn6UXlu2
+gmVBDxpsjcVjx/aoCJIvTXLAjwKBgQDbLm27lXvF+K4xbLin7Kfwl3C2jxYB7mBL
+In/x/xNqgifTrcpMDxpnStFzpQHKZ1RT9fV2BPLlfPjsgUJiRUJ0jgfuO3WUjs5w
+YIh+wKQE+/o56OqMA7oM+yIRMNO9/MmocdPtic2gvq1tDG46M8Qox8EAnTChpHbp
+gw5VGbZsIQKBgAXFOW5uOOSrIORjt/40/p6BecdajsaaTbBiACoyeAlVFns1Ceog
+41r5DOev94floBiBete4SRZfsIfO0yPD8ti/q4nFN0k9kg5oE8LHZ5gV2okMhXal
+vSl6/FwTkD2CWk0j6sx2eN9nFGmqTSNEBle1jrKcmR2FBV4Zeb8CdZ05AoGAFJkd
+aOaYdjdzr2NnSyi7c6nXxuBVkiLj28vHOGffXEAVHBiWDWXR9mkanAKi03G4hBd2
+VPwME7MV9awEIBYgM7HxXtsppqdxETCRQ1A5WdqQXobcHAJxpqynO/RZwd4S2Yix
+AP7VW0jwJXJonYGl6qszISqkmlxJbJKLc0XyVeECgYBVLs9eAGLVUQnMfm3c6ykA
+61Olqkz5gMSRClpMDffrIeH6P261KsEsopV/8rdWyrvTEzba/g2vNsy+ybgxx8bD
+fOGMch/Vz3fYIuTKvB9d604rCjV3Z5qeiqwG2TuI8uuFHAHo3EI90zt7BRF9y+R+
+4hPycH/ZTj4TND2bZDxbOA==
+-----END PRIVATE KEY-----
diff --git a/.docker/apache/vhost.conf b/.docker/apache/vhost.conf
new file mode 100644
index 0000000..72b23f1
--- /dev/null
+++ b/.docker/apache/vhost.conf
@@ -0,0 +1,41 @@
+LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
+LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
+
+