diff --git a/Dockerfile b/Dockerfile index d1bf5ecd..ad65e658 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.5 +FROM python:3.6 MAINTAINER Piero Toffanin ENV PYTHONUNBUFFERED 1 @@ -8,7 +8,7 @@ ENV PYTHONPATH $PYTHONPATH:/webodm RUN mkdir /webodm WORKDIR /webodm -RUN curl --silent --location https://deb.nodesource.com/setup_6.x | bash - +RUN curl --silent --location https://deb.nodesource.com/setup_8.x | bash - RUN apt-get -qq install -y nodejs # Configure use of testing branch of Debian diff --git a/docker-compose.build.yml b/docker-compose.build.yml index 94b275d4..0a4caeef 100644 --- a/docker-compose.build.yml +++ b/docker-compose.build.yml @@ -6,3 +6,5 @@ services: build: ./db webapp: build: . + worker: + build: ./worker diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index f59aa789..8dd11062 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,6 +1,6 @@ version: '2' services: webapp: - entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/start.sh --create-default-pnode --setup-devenv\"" + entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/wait-for-it.sh broker:6379 -- /webodm/start.sh --create-default-pnode --setup-devenv\"" volumes: - .:/webodm diff --git a/docker-compose.nodeodm.yml b/docker-compose.nodeodm.yml index 98e2d6b6..8dd4b885 100644 --- a/docker-compose.nodeodm.yml +++ b/docker-compose.nodeodm.yml @@ -5,7 +5,7 @@ version: '2' services: webapp: - entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/start.sh --create-default-pnode\"" + entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/wait-for-it.sh broker:6379 -- /webodm/start.sh --create-default-pnode\"" depends_on: - node-odm-1 node-odm-1: diff --git a/docker-compose.yml b/docker-compose.yml index 50cb3218..378d34a1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,15 +17,25 @@ services: webapp: image: opendronemap/webodm_webapp container_name: webapp - entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/start.sh\"" + entrypoint: /bin/bash -c "chmod +x /webodm/*.sh && /bin/bash -c \"/webodm/wait-for-it.sh db:5432 -- /webodm/wait-for-it.sh broker:6379 -- /webodm/start.sh\"" volumes: - ${WO_MEDIA_DIR}:/webodm/app/media ports: - "${WO_PORT}:8000" depends_on: - db + - broker environment: - WO_PORT - WO_HOST - WO_DEBUG - restart: on-failure:10 \ No newline at end of file + restart: on-failure:10 + broker: + image: redis + container_name: broker + worker: + image: opendronemap/webodm_worker + container_name: worker + depends_on: + - broker + diff --git a/worker/Dockerfile b/worker/Dockerfile new file mode 100644 index 00000000..82fc7216 --- /dev/null +++ b/worker/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:16.04 +MAINTAINER Piero Toffanin + +RUN apt-get update && \ + apt-get install -y software-properties-common && \ + add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable && \ + apt-get install update && \ + apt-get install -y grass-core python-pip + +COPY requirements.txt /worker/ +WORKDIR /worker + +RUN pip install -U pip && pip install -r requirements.txt + +RUN apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN chmod 644 /docker-entrypoint-initdb.d/init-db.sql diff --git a/worker/requirements.txt b/worker/requirements.txt new file mode 100644 index 00000000..74f9e8fe --- /dev/null +++ b/worker/requirements.txt @@ -0,0 +1 @@ +celery