From 48fde2c0b602b037f17acbb15bc9a7cbfd4d6da5 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 2 Nov 2022 21:53:56 +0100 Subject: [PATCH 1/6] Also run drone job on PR --- .drone.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.drone.yml b/.drone.yml index a75e53f..ef17a20 100644 --- a/.drone.yml +++ b/.drone.yml @@ -74,3 +74,4 @@ trigger: event: include: - push + - pull_request \ No newline at end of file From 4311a4c8417137285e0844ddf107b1899cd4e6d2 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 2 Nov 2022 21:55:31 +0100 Subject: [PATCH 2/6] Test always push new docker image --- .drone.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index ef17a20..804de14 100644 --- a/.drone.yml +++ b/.drone.yml @@ -64,11 +64,11 @@ steps: password: from_secret: GITHUB_PASSWORD tags: latest - when: - event: - - push - branch: - - master + # when: + # event: + # - push + # branch: + # - master trigger: event: From d713786685ae55028bbf8d7f42e76f9f6a6808da Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 2 Nov 2022 22:01:03 +0100 Subject: [PATCH 3/6] Use compiled files from ci instead of Dockerfile --- Dockerfile | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5be075f..9704b41 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,13 +5,16 @@ RUN mkdir -p /opt/figlet-http/src WORKDIR /opt/figlet-http -COPY src/ src -COPY tsconfig.json . -COPY package.json . -COPY yarn.lock . +# COPY src/ src +# COPY tsconfig.json . +# COPY package.json . +# COPY yarn.lock . -RUN yarn -RUN yarn build +COPY lib/ lib +COPY node_modules/ node_modules + +# RUN yarn +# RUN yarn build EXPOSE 3000 From ef3a394657597eabdfff4c2c351ad30424ee2b77 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 2 Nov 2022 22:05:48 +0100 Subject: [PATCH 4/6] Run node directly in Dockerfile CMD Without yarn in cmd we don't need to import package.json --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9704b41..0bbeeb5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,4 +18,4 @@ COPY node_modules/ node_modules EXPOSE 3000 -CMD ["yarn", "start"] +CMD ["node", "lib/app.js"] From 25ae3a2b65b6b00b962e95e3f99afb1666956bcb Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 2 Nov 2022 22:21:00 +0100 Subject: [PATCH 5/6] Build files outside and move in & install only !dev dependencies --- Dockerfile | 13 +++---------- README.md | 15 +++++++++++++-- package.json | 6 +++--- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0bbeeb5..6378abf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,13 @@ FROM node:18 -LABEL org.opencontainers.image.source https://github.com/KevinMidboe/figlet-http -RUN mkdir -p /opt/figlet-http/src +RUN mkdir -p /opt/figlet-http/lib WORKDIR /opt/figlet-http -# COPY src/ src -# COPY tsconfig.json . -# COPY package.json . -# COPY yarn.lock . - +COPY package.json . COPY lib/ lib -COPY node_modules/ node_modules -# RUN yarn -# RUN yarn build +RUN yarn install --production EXPOSE 3000 diff --git a/README.md b/README.md index cfff2c2..39de651 100644 --- a/README.md +++ b/README.md @@ -56,15 +56,26 @@ Api endpoints `/text` & `/motd` have the following query options: ## Docker install -Run as a docker container using: +Run as a docker container from github container registry: ```bash -docker run -d \ +sudo docker run -d \ --name figlet-http \ -p 3000:3000 \ ghcr.io/kevinmidboe/figlet-http ``` +Run as docker locally: +```bash +yarn build; \ +sudo docker build -t figlet-http .; \ +sudo docker run -d \ + --name figlet-http \ + -p 3000:3000 \ + figlet-http +``` + + ## Systemd service Example systemd config for running http server. diff --git a/package.json b/package.json index c277991..346ded8 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,7 @@ }, "dependencies": { "express": "^4.18.2", - "figlet": "^1.5.2", - "typescript": "^4.8.4" + "figlet": "^1.5.2" }, "devDependencies": { "@types/node": "^18.11.2", @@ -16,6 +15,7 @@ "@typescript-eslint/parser": "^5.40.1", "eslint": "^8.25.0", "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.26.0" + "eslint-plugin-import": "^2.26.0", + "typescript": "^4.8.4" } } From 4dae70a45f34d1e8c3b58860b1d610e07beff567 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 2 Nov 2022 22:24:37 +0100 Subject: [PATCH 6/6] Only publish package when merging master --- .drone.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.drone.yml b/.drone.yml index 804de14..ef17a20 100644 --- a/.drone.yml +++ b/.drone.yml @@ -64,11 +64,11 @@ steps: password: from_secret: GITHUB_PASSWORD tags: latest - # when: - # event: - # - push - # branch: - # - master + when: + event: + - push + branch: + - master trigger: event: