diff --git a/docker-compose.yml b/docker-compose.yml --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,7 +24,6 @@ image: swh/objstorage ports: - 5003:5003 - swh-web: build: ./dockerfiles/swh-web image: swh/web @@ -33,3 +32,20 @@ depends_on: - swh-objstorage - swh-storage + swh-scheduler-db: + image: postgres:10 + environment: + POSTGRES_PASSWORD: testpassword + POSTGRES_DB: swh-scheduler + swh-scheduler: + build: ./dockerfiles/swh-scheduler + image: swh/scheduler + ports: + - 5008:5008 + depends_on: + - swh-scheduler-db + environment: + POSTGRES_PASSWORD: testpassword + POSTGRES_DB: swh-scheduler + PGHOST: swh-scheduler-db + PGUSER: postgres diff --git a/dockerfiles/swh-scheduler/Dockerfile b/dockerfiles/swh-scheduler/Dockerfile new file mode 100644 --- /dev/null +++ b/dockerfiles/swh-scheduler/Dockerfile @@ -0,0 +1,17 @@ +FROM python:3 + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && apt-get upgrade -y && \ + apt-get install -y libsystemd-dev postgresql-client && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN pip install swh-scheduler +RUN pip install psycopg2-binary # to make pip silent + +COPY scheduler.yml / +COPY entrypoint.sh / + +ENTRYPOINT ["/entrypoint.sh"] + +EXPOSE 5008 diff --git a/dockerfiles/swh-scheduler/entrypoint.sh b/dockerfiles/swh-scheduler/entrypoint.sh new file mode 100755 --- /dev/null +++ b/dockerfiles/swh-scheduler/entrypoint.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -e + +if [[ -d /src ]] ; then + for srcrepo in /src/swh-* ; do + echo "installing $srcrepo" + pushd $srcrepo + pip install -e . + popd + done +fi + +echo "${PGHOST}:5432:${POSTGRES_DB}:${PGUSER}:${POSTGRES_PASSWORD}" > ~/.pgpass +cat > ~/.pg_service.conf <