From cf9da2d4f7c62b87377373fb52c65aa1ea2195b8 Mon Sep 17 00:00:00 2001 From: Jurgis Sakalauskas Date: Sat, 25 Nov 2023 10:54:45 +0200 Subject: [PATCH] dont watch for prod env --- .env.sample | 1 + Dockerfile | 9 +-------- package-lock.json | 2 +- package.json | 4 +++- src/repository/articles-repository.ts | 1 + src/routes/add-article.ts | 1 + start.sh | 20 ++++++++++++++++++++ 7 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 start.sh diff --git a/.env.sample b/.env.sample index 2fc80e3..766252b 100644 --- a/.env.sample +++ b/.env.sample @@ -1 +1,2 @@ PORT=3000 +NODE_ENV=development diff --git a/Dockerfile b/Dockerfile index 4093e89..f61e1b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,8 @@ FROM node:18 -#install calibre -RUN apt-get update -y -RUN apt-get install -y libopengl0 -RUN apt-get install -y libegl1 -RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin - WORKDIR /srv/app COPY ./ /srv/app -RUN npm install EXPOSE $PORT -CMD ["npm", "run", "dev"] +CMD ["npm", "run", "start"] diff --git a/package-lock.json b/package-lock.json index 6e0c8d9..ea3cdcf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "kobo", + "name": "app", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index b38f98a..8625352 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "prepare": "npm run compile", "pretest": "npm run compile", "posttest": "npm run lint", - "dev": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts" + "dev": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts", + "prod": "ts-node src/index.ts", + "start": "bash ./start.sh" }, "dependencies": { "@extractus/article-extractor": "^7.3.1", diff --git a/src/repository/articles-repository.ts b/src/repository/articles-repository.ts index a49f35f..996b4e3 100644 --- a/src/repository/articles-repository.ts +++ b/src/repository/articles-repository.ts @@ -6,6 +6,7 @@ interface Article { title: string; dateAdded: string; uid: string; + url: string; } class ArticlesRepository { diff --git a/src/routes/add-article.ts b/src/routes/add-article.ts index 64df0b7..4c42393 100644 --- a/src/routes/add-article.ts +++ b/src/routes/add-article.ts @@ -32,6 +32,7 @@ addArticleRouter.get('/', (req, res) => { uid: hash, title: article.title ?? 'no title', dateAdded: new Date().toISOString().split('T')[0], + url, }); mkdir(dir, {recursive: true}, (err) => { diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..a201f28 --- /dev/null +++ b/start.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# install calibre +echo "Installing calibre" +apt-get update -y +apt-get install -y libopengl0 +apt-get install -y libegl1 +wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin + +# npm install +echo "Installing dependencies" +npm install + +if [ "$NODE_ENV" == "production" ]; then + echo "Running prod" + npm run prod +else + echo "Running dev" + npm run dev +fi