FROM ubuntu:22.04 # Instalar Nginx RUN apt-get update && apt-get install -y nginx software-properties-common curl unzip supervisor RUN add-apt-repository ppa:ondrej/php && apt-get update # Exponer el puerto 80 y 443 para HTTP EXPOSE 80 EXPOSE 443 RUN ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stderr /var/log/nginx/error.log \ && ln -sf /dev/stderr /var/log/php8.2-fpm.log # Copia la configuración personalizada de Nginx al contenedor COPY ./docker/nginx/default.conf /etc/nginx/sites-available/oggit # Borrar default.conf en nginx en caso de que exista RUN rm /etc/nginx/sites-enabled/default # Crear un enlace simbólico a sites-enabled RUN ln -s /etc/nginx/sites-available/oggit /etc/nginx/sites-enabled/oggit # Install php 8.2 and php-fpm RUN apt-get install -y php8.2 php8.2-cli php8.2-fpm php8.2-xml php8.2-curl # Install composer RUN curl -sS https://getcomposer.org/installer -o composer-setup.php && php composer-setup.php --install-dir=/usr/local/bin --filename=composer # Crear directorio de trabajo RUN mkdir /opt/oggit RUN mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www WORKDIR /opt/oggit # Copy the project to /opt/oggit COPY src/ src/ COPY config/ config/ COPY composer.json . # Install dependencies RUN composer install COPY .env .env RUN chown -R www-data:www-data /opt/oggit # Configure Supervisor COPY docker/supervisord/supervisor.conf /etc/supervisor/conf.d/supervisor.conf # Iniciar Nginx COPY docker/entrypoint/entrypoint.sh /entrypoint.sh # Cambiar los permisos de entrypoint.sh RUN chmod +x /entrypoint.sh RUN mkdir -p /run/php && chown -R www-data:www-data /run/php # Set entrypoint CMD ["/entrypoint.sh"]