From 29a9338ad71a7d3a240a8e70f2e555d084d3b18a Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Wed, 7 Sep 2022 23:02:20 +0200 Subject: [PATCH] feat(docker-compose): add worker as service --- .../compose/docker-compose.yml | 21 ++++++++++++++++++- docker/images/plain/Dockerfile | 11 ++++++++++ .../images/wait-for-postgres/Dockerfile | 2 +- .../wait-for-postgres}/wait-for-postgres.sh | 0 packages/backend/package.json | 2 ++ packages/backend/src/models/flow.ts | 1 - 6 files changed, 34 insertions(+), 3 deletions(-) rename docker-compose.yml => docker/compose/docker-compose.yml (51%) create mode 100644 docker/images/plain/Dockerfile rename Dockerfile => docker/images/wait-for-postgres/Dockerfile (91%) rename docker/{ => images/wait-for-postgres}/wait-for-postgres.sh (100%) diff --git a/docker-compose.yml b/docker/compose/docker-compose.yml similarity index 51% rename from docker-compose.yml rename to docker/compose/docker-compose.yml index b6b288d0..d650f494 100644 --- a/docker-compose.yml +++ b/docker/compose/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: automatisch: build: - context: . + context: ../images/wait-for-postgres network: host ports: - "3000:3000" @@ -18,6 +18,23 @@ services: - POSTGRES_HOST=postgres - POSTGRES_DATABASE=automatisch - POSTGRES_USERNAME=automatisch_user + volumes: + - automatisch_storage:/automatisch/storage + worker: + build: + context: ../images/plain + network: host + depends_on: + - automatisch + environment: + - APP_ENV=production + - REDIS_HOST=redis + - POSTGRES_HOST=postgres + - POSTGRES_DATABASE=automatisch + - POSTGRES_USERNAME=automatisch_user + command: automatisch start-worker --env-file /automatisch/storage/.env + volumes: + - automatisch_storage:/automatisch/storage postgres: image: "postgres:14.5" environment: @@ -26,3 +43,5 @@ services: POSTGRES_USER: automatisch_user redis: image: "redis:7.0.4" +volumes: + automatisch_storage: diff --git a/docker/images/plain/Dockerfile b/docker/images/plain/Dockerfile new file mode 100644 index 00000000..48777c67 --- /dev/null +++ b/docker/images/plain/Dockerfile @@ -0,0 +1,11 @@ +# syntax=docker/dockerfile:1 +FROM node:16 +WORKDIR /automatisch + +# npm registry for dev purposes +RUN npm config set fetch-retry-maxtimeout 5000 +RUN npm config set fetch-retry-mintimeout 3000 +RUN npm set registry http://localhost:5000 +# npm registry for dev purposes + +RUN yarn global add @automatisch/cli diff --git a/Dockerfile b/docker/images/wait-for-postgres/Dockerfile similarity index 91% rename from Dockerfile rename to docker/images/wait-for-postgres/Dockerfile index 54edef55..5d422008 100644 --- a/Dockerfile +++ b/docker/images/wait-for-postgres/Dockerfile @@ -3,7 +3,7 @@ FROM node:16 WORKDIR /automatisch RUN apt-get update && apt-get install -y postgresql-client -COPY ./docker/wait-for-postgres.sh /automatisch/wait-for-postgres.sh +COPY ./wait-for-postgres.sh /automatisch/wait-for-postgres.sh # npm registry for dev purposes RUN npm config set fetch-retry-maxtimeout 5000 diff --git a/docker/wait-for-postgres.sh b/docker/images/wait-for-postgres/wait-for-postgres.sh similarity index 100% rename from docker/wait-for-postgres.sh rename to docker/images/wait-for-postgres/wait-for-postgres.sh diff --git a/packages/backend/package.json b/packages/backend/package.json index 653064e8..4eb510de 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -81,6 +81,8 @@ "src", "server.js", "server.d.ts", + "worker.js", + "worker.d.ts", "logger.js", "logger.d.ts", "database.js", diff --git a/packages/backend/src/models/flow.ts b/packages/backend/src/models/flow.ts index e88ec678..388c477c 100644 --- a/packages/backend/src/models/flow.ts +++ b/packages/backend/src/models/flow.ts @@ -4,7 +4,6 @@ import Base from './base'; import Step from './step'; import Execution from './execution'; import Telemetry from '../helpers/telemetry'; -import { IExecution } from '@automatisch/types'; class Flow extends Base { id!: string;