diff --git a/docker/agent/Dockerfile b/docker/agent/Dockerfile new file mode 100644 index 0000000..faf81d9 --- /dev/null +++ b/docker/agent/Dockerfile @@ -0,0 +1,18 @@ +# syntax = docker/dockerfile +FROM nvidia/cuda + +WORKDIR /usr/agent + +COPY . /usr/agent + +RUN apt-get update +RUN apt-get dist-upgrade -y +RUN apt-get install -y curl python3-pip git +RUN curl -sSL https://get.docker.com/ | sh +RUN python3 -m pip install -U pip +RUN python3 -m pip install trains-agent +RUN python3 -m pip install -U "cryptography>=2.9" + +ENV TRAINS_DOCKER_SKIP_GPUS_FLAG=1 + +ENTRYPOINT ["/usr/agent/entrypoint.sh"] diff --git a/docker/agent/entrypoint.sh b/docker/agent/entrypoint.sh new file mode 100755 index 0000000..fc2cb8d --- /dev/null +++ b/docker/agent/entrypoint.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +LOWER_PIP_UPDATE_VERSION="$(echo "$PIP_UPDATE_VERSION" | tr '[:upper:]' '[:lower:]')" +LOWER_TRAINS_AGENT_UPDATE_VERSION="$(echo "$TRAINS_AGENT_UPDATE_VERSION" | tr '[:upper:]' '[:lower:]')" + +if [ "$LOWER_PIP_UPDATE_VERSION" = "yes" ] || [ "$LOWER_PIP_UPDATE_VERSION" = "true" ] ; then + python3 -m pip install -U pip +elif [ ! -z "$LOWER_PIP_UPDATE_VERSION" ] ; then + python3 -m pip install pip$LOWER_PIP_UPDATE_VERSION ; +fi + +echo "TRAINS_AGENT_UPDATE_VERSION = $LOWER_TRAINS_AGENT_UPDATE_VERSION" +if [ "$LOWER_TRAINS_AGENT_UPDATE_VERSION" = "yes" ] || [ "$LOWER_TRAINS_AGENT_UPDATE_VERSION" = "true" ] ; then + python3 -m pip install trains-agent -U +elif [ ! -z "$LOWER_TRAINS_AGENT_UPDATE_VERSION" ] ; then + python3 -m pip install trains-agent$LOWER_TRAINS_AGENT_UPDATE_VERSION ; +fi + +python3 -m trains_agent daemon --docker "$TRAINS_AGENT_DEFAULT_BASE_DOCKER" --force-current-version $TRAINS_AGENT_EXTRA_ARGS \ No newline at end of file diff --git a/docker/services/Dockerfile b/docker/services/Dockerfile new file mode 100644 index 0000000..e79f74b --- /dev/null +++ b/docker/services/Dockerfile @@ -0,0 +1,16 @@ +# syntax = docker/dockerfile +FROM ubuntu:18.04 + +WORKDIR /usr/agent + +COPY . /usr/agent + +RUN apt-get update +RUN apt-get dist-upgrade -y +RUN apt-get install -y curl python3-pip git +RUN curl -sSL https://get.docker.com/ | sh +RUN python3 -m pip install -U pip +RUN python3 -m pip install trains-agent +RUN python3 -m pip install -U "cryptography>=2.9" + +ENTRYPOINT ["/usr/agent/entrypoint.sh"] diff --git a/docker/services/entrypoint.sh b/docker/services/entrypoint.sh new file mode 100755 index 0000000..cac1c8c --- /dev/null +++ b/docker/services/entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +if [ -z "$TRAINS_FILES_HOST" ]; then + TRAINS_HOST_IP=${TRAINS_HOST_IP:-$(curl -s https://ifconfig.me/ip)} +fi + +TRAINS_FILES_HOST=${TRAINS_FILES_HOST:-"http://$TRAINS_HOST_IP:8081"} +TRAINS_WEB_HOST=${TRAINS_WEB_HOST:-"http://$TRAINS_HOST_IP:8080"} +TRAINS_API_HOST=${TRAINS_API_HOST:-"http://$TRAINS_HOST_IP:8008"} + +echo $TRAINS_FILES_HOST $TRAINS_WEB_HOST $TRAINS_API_HOST 1>&2 + +python3 -m pip install -q -U "trains-agent${TRAINS_AGENT_UPDATE_VERSION}" +trains-agent daemon --services-mode --queue services --create-queue --docker $TRAINS_AGENT_DEFAULT_BASE_DOCKER --cpu-only $TRAINS_AGENT_EXTRA_ARGS