# Imagen a utilizar alpine
# FROM alpine:latest
FROM nginx:alpine
# agregar grupo y usuario para la aplicacion
RUN addgroup -S www && adduser -S wwwrun -G www
#RUN useradd -m -s /bin/sh wwwrun
# Instalar paquetes a ocupar (manejo de errores con rsyslog)
# RUN apk add openrc #\
   # && apk add rsyslog\
   #  && rc-update add rsyslog default\
   # && mkdir /run/openrc\
   #  && touch /run/openrc/softlevel
# Comentar linea en archivo de configuracion
### RUN sed -i '/imklog/s/^/#/' /etc/rsyslog.conf
# Inicializar el servicio de rsyslog
### RUN rc-service rsyslog start
# Instalar servidor web nginx
# RUN apk --no-cache add nginx
# Instala pquetes de php necesario para la app
# RUN apk --no-cache add php-fpm php php-bz2 php-cli php-ctype php-curl php-dom php-gmp php-iconv php-json php-mbstring php-mysqli php-session \
#     php-opcache php-openssl php-pdo php-pgsql php-posix php-sqlite3 php-tokenizer php-xmlreader php-xmlwriter php-xsl php-zip php-zlib php-pdo_mysql
# Instalar openssl para generar certificado autofirmado para la configuracion de nginx con ssl
# RUN apk --no-cache add  openssl # validar si esto se resuelve con certmanager
# Crear directorios necesarios
# RUN mkdir -p /etc/nginx/ssl /var/run/php/ /app
RUN mkdir /app
# Configurar php
# Habilitamos short_open_tag
# RUN sed -i 's/short_open_tag = Off/short_open_tag = On/g' /etc/php82/php.ini
# COPY App/config/app/www_phpfpm.conf /etc/php82/php-fpm.d/www.conf
# Configurar nginx
# Generar certificado autofirmado en directorio para leer desde archivo de configuracion de nginx
# RUN openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.crt -subj "/CN=localhost"
# Eliminamos archivo default
# RUN rm /etc/nginx/http.d/default.conf
# Copiamos archivo de configuracion para nuestro servidor
RUN rm /etc/nginx/conf.d/default.conf
COPY App/config/app/www_nginx.conf /etc/nginx/conf.d/www.conf

# Configurar supervisor, en lo que se separa las imagenes
# RUN apk add --no-cache supervisor
# RUN mkdir -p /etc/supervisor.d/
# COPY App/config/app/supervisor_daas.ini /etc/supervisor.d/daas_front.ini


# USER wwwrun

# Copiar carpeta de proyecto a ruta de aplicacion configurada en nginx
COPY ./public /app/public

ADD monitor.cron /app/monitor.cron
ADD ./cront_deploy.sh /app/cront_deploy.sh
RUN /usr/bin/crontab /app/monitor.cron


# RUN chmod -Rv 777 /app
# RUN chmod -Rv 777 /app/App/logs/


EXPOSE 80
# 8443
WORKDIR /app

# USER root

RUN /bin/sh -c "/usr/sbin/crond -l 8"

CMD ["nginx", "-g", "daemon off;"]
