diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8510f0f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:20.04 AS base + +# Set non-interactive mode +ENV DEBIAN_FRONTEND noninteractive + +# Install required packages +RUN apt-get update && \ + apt-get install -y curl wget gnupg2 libgbm-dev ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release wget xdg-utils && \ + curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ + apt-get install -y nodejs chromium-browser + +# Set the working directory +WORKDIR /app + +# Copy the package.json and package-lock.json files +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the source code +COPY . . + +# Start the application +CMD ["npm", "run", "start:prod"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..b1247b8 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,28 @@ +version: '3' +services: + web: + build: . + ports: + - '3000:3000' + depends_on: + - db + environment: + - MONGO_URL=mongodb://db:27017/nestjs + networks: + - appnet + db: + image: mongo + environment: + - MONGO_INITDB_DATABASE=nestjs + - MONGO_INITDB_ROOT_USERNAME=admin + - MONGO_INITDB_ROOT_PASSWORD=adminpassword + volumes: + - dbdata:/data/db + networks: + - appnet +networks: + appnet: + driver: bridge +volumes: + dbdata: + driver: local diff --git a/src/api/api.controller.ts b/src/api/api.controller.ts index d8cf5f2..45b56af 100644 --- a/src/api/api.controller.ts +++ b/src/api/api.controller.ts @@ -11,6 +11,11 @@ export class ApiController { results.then((data) => { console.log(data) this.DbService.insert(data, 'crawler'); + }).catch((err) => { + console.log(err); }); + return { + message: 'Crawling in progress' + } } }