Optim. Repo Structure
This commit is contained in:
60
utils/mgmt/Dockerfile
Normal file
60
utils/mgmt/Dockerfile
Normal file
@ -0,0 +1,60 @@
|
||||
# Agenten Plattform
|
||||
#
|
||||
# (c) 2024 Magnus Bender
|
||||
# Institute of Humanities-Centered Artificial Intelligence (CHAI)
|
||||
# Universitaet Hamburg
|
||||
# https://www.chai.uni-hamburg.de/~bender
|
||||
#
|
||||
# source code released under the terms of GNU Public License Version 3
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
|
||||
FROM ubuntu:24.04
|
||||
|
||||
ARG H_GID
|
||||
ARG H_UID
|
||||
ARG PIP_REQ_FILE
|
||||
|
||||
RUN apt update && \
|
||||
apt install -y bash \
|
||||
build-essential \
|
||||
git \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python3-dev \
|
||||
python3-pip
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive TZ=Europe/Berlin apt-get install -y tzdata \
|
||||
&& cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime \
|
||||
&& echo "Europe/Berlin" > /etc/timezone
|
||||
|
||||
RUN apt-get install -y vim htop \
|
||||
nginx supervisor \
|
||||
&& rm -rf /var/lib/apt/lists
|
||||
|
||||
# sytem and user setup
|
||||
RUN ln -s /usr/bin/python3 /usr/local/bin/python \
|
||||
&& addgroup --gid $H_GID user \
|
||||
&& adduser user --uid $H_UID --ingroup user --gecos "" --home /home/user/ --disabled-password
|
||||
|
||||
RUN mkdir -p /ums-agenten/plattform/ && mkdir -p /ums-agenten/persist/
|
||||
|
||||
COPY ./utils/mgmt/$PIP_REQ_FILE /ums-agenten/requirements.txt
|
||||
RUN pip3 install --break-system-packages --no-cache-dir -r /ums-agenten/requirements.txt \
|
||||
&& pip3 freeze > /ums-agenten/requirements.txt
|
||||
|
||||
# nginx settings and startup
|
||||
COPY ./utils/mgmt/supervisor.conf /etc/supervisor/supervisord.conf
|
||||
COPY ./utils/mgmt/nginx.conf /etc/nginx/nginx.conf
|
||||
COPY ./utils/mgmt/app.conf /etc/nginx/sites-enabled/default
|
||||
|
||||
# install the code of the repo
|
||||
COPY ./utils/setup.py /ums-agenten/plattform/
|
||||
RUN pip3 install --break-system-packages -e /ums-agenten/plattform/
|
||||
|
||||
WORKDIR /ums-agenten/plattform/ums/
|
||||
|
||||
COPY --chown=user:user ./ums/ /ums-agenten/plattform/ums/
|
||||
COPY --chown=user:user ./web/ /ums-agenten/plattform/web/
|
||||
|
||||
# run nginx and uvicorn
|
||||
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
Reference in New Issue
Block a user