FROM alpine:latest RUN addgroup -S nginx_admin && adduser -S app_user -G nginx_admin #RUN adduser -D -g 'app_user' nginx_admin WORKDIR /app # Install necessary packages RUN apk update && \ apk upgrade && \ apk add --no-cache openrc bash su-exec python3 py3-pip net-tools udev nginx # Copy Flask application COPY ./FlaskWebApp /app/FlaskWebApp COPY ./requirements.txt /app/requirements.txt COPY ./start_pyapps.sh /app/start_pyapps.sh COPY ./start_services.sh /app/start_services.sh # Copy Angular build files to Nginx web directory ADD ./resources.tar /var/www/portfolio # Backup original nginx.conf and copy new one COPY ./nginx.conf /etc/nginx/nginx.conf #RUN mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig #COPY ./default.conf /etc/nginx/conf.d/default.conf # Python virtual environment RUN python3 -m venv /app/PyEnv && \ /app/PyEnv/bin/pip install --upgrade pip && \ /app/PyEnv/bin/pip install -r /app/requirements.txt && \ chmod -R +x /app RUN touch /app/flask.log && \ touch /var/lib/nginx/logs/error.log && \ mkdir -p /var/log/nginx /run/nginx /var/lib/nginx/logs/ && \ chown -R app_user:nginx_admin /var/lib/nginx /var/log/nginx /var/lib/nginx/logs/ /app &&\ chmod -R 755 /var/lib/nginx/logs/ USER app_user CMD ["sh","-c","/app/start_services.sh"]