Refactored the application's dockerization and added new services

This commit involves significant changes to the application's infrastructure. It refactors the application into two separate services: 'nibiru-auth-api' and 'nibiru-webhook-receiver'. Each service has its corresponding Dockerfile, Nginx & PHP-FPM configuration. It also provides a separate Nginx configuration for handling requests for each service. New environment files, start and stop scripts are introduced to facilitate local and production deployments.
This commit is contained in:
stephan.kasdorf
2024-05-31 15:13:10 +02:00
parent 7e860b019a
commit 2572c28648
29 changed files with 568 additions and 72 deletions

View File

@@ -0,0 +1,38 @@
# Use the official PHP-FPM image for PHP 8.3
FROM php:8.3-fpm
# Import the timezone and virtual port arguments
ARG TZ
ARG FPM_VIRTUAL_PORT
# Set the working directory
WORKDIR /var/www/html
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Install system dependencies
RUN apt-get update && apt-get install -y \
zip \
unzip \
git \
gettext-base \
&& apt-get clean
# Set the timezone
ENV TZ=$TZ
RUN echo "date.timezone=${TZ}" > /usr/local/etc/php/conf.d/timezone.ini
# Copy entrypoint script and PHP-FPM configuration template
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
COPY conf/zz-docker.conf.template /usr/local/etc/php-fpm.d/zz-docker.conf.template
# Make entrypoint script executable
RUN chmod +x /usr/local/bin/entrypoint.sh
# Expose port 9000 for PHP-FPM
EXPOSE $FPM_VIRTUAL_PORT
# Set entrypoint
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

View File

@@ -0,0 +1,5 @@
[global]
daemonize = no
[www]
listen = 0.0.0.0:$FPM_VIRTUAL_PORT

View File

@@ -0,0 +1,10 @@
#!/bin/sh
# Set the PHP-FPM listen port from the environment variable or default to 9000
export FPM_VIRTUAL_PORT=${FPM_VIRTUAL_PORT:-9000}
# Substitute environment variables in the PHP-FPM configuration template
envsubst '$FPM_VIRTUAL_PORT' < /usr/local/etc/php-fpm.d/zz-docker.conf.template > /usr/local/etc/php-fpm.d/zz-docker.conf
# Start PHP-FPM
php-fpm