mirror of
https://github.com/Telecominfraproject/openafc_final.git
synced 2025-11-01 10:37:51 +00:00
63 lines
2.1 KiB
Docker
63 lines
2.1 KiB
Docker
#
|
|
# Copyright (C) 2022 Broadcom. All rights reserved. The term "Broadcom"
|
|
# refers solely to the Broadcom Inc. corporate affiliate that owns
|
|
# the software below. This work is licensed under the OpenAFC Project License,
|
|
# a copy of which is included with this software program
|
|
#
|
|
FROM nginx:1.24.0-alpine
|
|
ENV PYTHONUNBUFFERED=1
|
|
RUN apk add --update --no-cache python3 \
|
|
&& ln -sf python3 /usr/bin/python \
|
|
&& python3 -m ensurepip
|
|
RUN pip3 install --no-cache --upgrade \
|
|
--root-user-action=ignore pip setuptools
|
|
#
|
|
# Install reqiored python external and internal packages
|
|
#
|
|
WORKDIR /wd
|
|
# copy list of external packages
|
|
COPY dispatcher/requirements.txt /wd
|
|
# copy internal packages
|
|
COPY src/afc-packages ./afc-packages
|
|
# install
|
|
RUN set -x \
|
|
&& pip3 install --no-cache --root-user-action=ignore \
|
|
-r /wd/requirements.txt \
|
|
&& pip3 install --use-pep517 --root-user-action=ignore \
|
|
-r /wd/afc-packages/pkgs.dispatcher \
|
|
&& rm -rf /wd/afc-packages \
|
|
&& pip3 uninstall -y setuptools pip \
|
|
# create certificate directories
|
|
&& mkdir -p \
|
|
/certificates/servers \
|
|
/etc/nginx/templates
|
|
|
|
# Server side certificates
|
|
COPY dispatcher/certs/servers/server.cert.pem \
|
|
dispatcher/certs/servers/server.key.pem /certificates/servers/
|
|
# Default client side CA certificates as a placeholder
|
|
COPY dispatcher/certs/clients/client.bundle.pem \
|
|
/etc/nginx/certs/
|
|
|
|
# Copy nginx configuration files
|
|
COPY dispatcher/nginx.conf /etc/nginx/
|
|
COPY dispatcher/nginx.conf.template /etc/nginx/templates/
|
|
|
|
COPY dispatcher/acceptor.py /wd/
|
|
|
|
ENV AFC_MSGHND_NAME=${AFC_MSGHND_NAME:-msghnd}
|
|
ENV AFC_MSGHND_PORT=${AFC_MSGHND_PORT:-8000}
|
|
ENV AFC_WEBUI_NAME=${AFC_WEBUI_NAME:-rat_server}
|
|
ENV AFC_WEBUI_PORT=${AFC_WEBUI_PORT:-80}
|
|
ENV AFC_ENFORCE_HTTPS=${AFC_ENFORCE_HTTPS:-TRUE}
|
|
ENV AFC_SERVER_NAME=${AFC_SERVER_NAME:-"_"}
|
|
ENV AFC_ENFORCE_MTLS=${AFC_ENFORCE_MTLS:-false}
|
|
ENV AFC_PROXY_CONN_TOUT=${AFC_PROXY_CONN_TOUT:-720}
|
|
#
|
|
ENV AFC_DEVEL_ENV=${AFC_DEVEL_ENV:-production}
|
|
COPY dispatcher/entrypoint.sh /
|
|
RUN chmod +x /entrypoint.sh
|
|
CMD ["/entrypoint.sh"]
|
|
HEALTHCHECK --start-period=60s --interval=30s --retries=1 \
|
|
CMD curl --fail http://localhost/fbrat/ap-afc/healthy || exit 1
|