diff --git a/Dockerfile b/Dockerfile index 88ee6d4..b694a2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,12 +5,13 @@ FROM node:20.12.2-alpine3.18 AS base FROM base AS deps WORKDIR /app ADD package.json package-lock.json ./ -RUN npm ci -FROM base AS dev-deps +FROM node:22 AS dev-deps WORKDIR /app ADD package.json package-lock.json ./ +ENV NODE_ENV=development RUN npm ci +EXPOSE 3333 # Production only deps stage FROM base AS production-deps diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000..0fa41d5 --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,16 @@ + name: sentry + services: + scraper: + build: + context: . + target: dev-deps + env_file: .env.develop + volumes: + - ./:/app + - node_modules:/app/node_modules + command: node ace serve --watch + depends_on: + db: + condition: service_healthy + volumes: + node_modules: {} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ddd54c9..db9122a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,27 +7,20 @@ - 80:80 - 8080:8080 volumes: - # So that Traefik can listen to the Docker events - /var/run/docker.sock:/var/run/docker.sock - scraper: - # image: paragontruss.azurecr.io/sentry-scraper - build: - context: . - target: dev-deps - ports: - - 3333:3333 - env_file: .env - volumes: - - backend_node_modules:/app/node_modules - - ./:/app - command: node ace serve --watch labels: - - "traefik.http.routers.backend.rule=Host(`sentry.docker.localhost`)" + - "traefik.http.routers.scraper.rule=Host(`sentry.docker.localhost`)" db: image: postgres:16 environment: - POSTGRES_PASSWORD=password + healthcheck: + test: ["CMD-SHELL", "pg_isready", "-d", "postgres"] + interval: 5s + timeout: 60s + retries: 5 + start_period: 5s grafana: image: grafana/grafana:latest labels: @@ -35,5 +28,3 @@ redis: image: redis:latest - volumes: - backend_node_modules: {} \ No newline at end of file