blob: 8373d5c6720c926c0f974e96150cc30e083a132c [file] [log] [blame]
garciadeblas4c246cf2023-04-13 11:01:15 +02001#######################################################################################
2# Copyright ETSI Contributors and Others.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13# implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#######################################################################################
17
garciadeblas6bd55c12023-05-17 12:19:59 +020018FROM ubuntu:22.04 as INSTALL
garciadeblas4c246cf2023-04-13 11:01:15 +020019
20ARG APT_PROXY
21RUN if [ ! -z $APT_PROXY ] ; then \
22 echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
23 echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
24 fi
25
26RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
27 DEBIAN_FRONTEND=noninteractive apt-get --yes install \
garciadeblas6bd55c12023-05-17 12:19:59 +020028 gcc=4:11.* \
29 python3=3.10.* \
30 python3-dev=3.10.* \
31 python3-pip=22.0.* \
32 curl=7.81.* \
33 && rm -rf /var/lib/apt/lists/*
34
35#######################################################################################
garciadeblas21503ab2023-06-28 14:31:27 +020036# End of common preparation
garciadeblas4c246cf2023-04-13 11:01:15 +020037
38ARG PYTHON3_OSM_WEBHOOK_TRANSLATOR_URL
39
40RUN curl $PYTHON3_OSM_WEBHOOK_TRANSLATOR_URL -o osm_webhook_translator.deb
41RUN dpkg -i ./osm_webhook_translator.deb
42
43RUN pip3 install \
44 -r /usr/lib/python3/dist-packages/osm_webhook_translator/requirements.txt
45
46#######################################################################################
garciadeblas6bd55c12023-05-17 12:19:59 +020047FROM ubuntu:22.04 as FINAL
garciadeblas4c246cf2023-04-13 11:01:15 +020048
49ARG APT_PROXY
50RUN if [ ! -z $APT_PROXY ] ; then \
51 echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
52 echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
53 fi
54
55RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
56 DEBIAN_FRONTEND=noninteractive apt-get --yes install \
garciadeblas6bd55c12023-05-17 12:19:59 +020057 python3-minimal=3.10.* \
garciadeblas4c246cf2023-04-13 11:01:15 +020058 && rm -rf /var/lib/apt/lists/*
59
garciadeblas6bd55c12023-05-17 12:19:59 +020060COPY --from=INSTALL /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages
61COPY --from=INSTALL /usr/local/lib/python3.10/dist-packages /usr/local/lib/python3.10/dist-packages
62
63#######################################################################################
garciadeblas21503ab2023-06-28 14:31:27 +020064# End of common preparation
garciadeblas6bd55c12023-05-17 12:19:59 +020065
garciadeblas4c246cf2023-04-13 11:01:15 +020066RUN rm -f /etc/apt/apt.conf.d/proxy.conf
67
aguilardcb9bb7a2023-04-18 16:25:19 +000068COPY --from=INSTALL /usr/local/bin/uvicorn /usr/local/bin/uvicorn
garciadeblas4c246cf2023-04-13 11:01:15 +020069
70# Creating the user for the app
71RUN groupadd -g 1000 appuser && \
72 useradd -u 1000 -g 1000 -d /app appuser && \
73 mkdir -p /app/osm_webhook_translator && \
74 chown -R appuser:appuser /app
75
76WORKDIR /app/osm_webhook_translator
77
78# Changing the security context
79USER appuser
80
81EXPOSE 9998
82
garciadeblas83bbf4c2023-06-08 11:19:40 +020083CMD ["uvicorn", "osm_webhook_translator.main:app", "--host", "0.0.0.0", "--port", "9998"]
garciadeblas4c246cf2023-04-13 11:01:15 +020084