FROM ubuntu:18.04 MAINTAINER Stefano Alberto Russo #---------------------- # Basics #---------------------- # Set non-interactive ENV DEBIAN_FRONTEND noninteractive # Update RUN apt-get update # Utilities RUN apt-get install -y nano telnet unzip wget openssh-server sudo curl # Devel RUN apt-get install -y build-essential python-dev git-core # Download get-pip script RUN curl -O https://bootstrap.pypa.io/pip/3.6/get-pip.py # Install Python3 and Pip3 (python3-distutils required for pip3) RUN apt-get install python3 python3-distutils -y # Install Python3 and Pip3 (python3-distutils required for pip3) # Fix pip version to avoid future issues. RUN apt-get install python3 python3-distutils -y RUN python3 get-pip.py 'pip==21.0.1' # Python 3 dev (for pycrypto) RUN apt-get install python3-dev -y # Install postgres driver required for psycopg2 RUN apt-get install libpq-dev -y #------------------------ # Esap user #------------------------ # Add group. We chose GID 65527 to try avoiding conflicts. RUN groupadd -g 65527 esap # Add user. We chose UID 65527 to try avoiding conflicts. RUN useradd esap -d /esap -u 65527 -g 65527 -m -s /bin/bash # Add esap user to sudoers RUN adduser esap sudo # No pass sudo (for everyone, actually) COPY sudoers /etc/sudoers #------------------------ # Code #------------------------ RUN cd /opt && git clone https://git.astron.nl/astron-sdc/esap-api-gateway.git RUN cd /opt/esap-api-gateway && git pull && git checkout 557c921 RUN chown -R esap:esap /opt/esap-api-gateway #------------------------ # Dependencies #------------------------ RUN pip3 install -r /opt/esap-api-gateway/esap/requirements/prod.txt RUN pip3 install uwsgi==2.0.19.1 #---------------------- # Entrypoint #---------------------- COPY run_api-gateway.sh /run_api-gateway.sh COPY entrypoint.sh /entrypoint.sh RUN chmod 755 /entrypoint.sh /run_api-gateway.sh USER esap ENTRYPOINT ["/entrypoint.sh"]