|
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"] |