From a26530c2561730d10b67719a698b1bd562e42bb1 Mon Sep 17 00:00:00 2001 From: git-malik <59745899+git-malik@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:32:10 +0200 Subject: [PATCH 1/4] Added Docker CI --- Dockerfile | 16 ++++++++++++++++ docker-compose.yml | 7 +++++++ 2 files changed, 23 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e9377f6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:20.3 + +EXPOSE 3000 +ENV NODE_ENV=production +WORKDIR /usr/src/app + +COPY package*.json ./ + +RUN npm install --production +RUN npm ci --omit=dev + +COPY . . + +RUN npm run build + +CMD [ "node", "dist/index.js"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..20c49e5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,7 @@ +version: "3.9" +services: + node: + image: d0ckmg/miniwikipedia + container_name: miniwikipedia + ports: + - 3000:3000/tcp \ No newline at end of file From 910c4fad0102e160358df44705f0ab337d429452 Mon Sep 17 00:00:00 2001 From: Malik <59745899+git-malik@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:33:49 +0200 Subject: [PATCH 2/4] Create main.yml --- .github/workflows/main.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..2349709 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,27 @@ +name: Docker Image CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_TOKEN_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN_PASS }} + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: d0ckmg/miniwikipedia:latest From 3909d786b1d3086ac6818b7adcff49612353c87c Mon Sep 17 00:00:00 2001 From: git-malik <59745899+git-malik@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:48:05 +0200 Subject: [PATCH 3/4] Update README.md --- .github/img/docker-logo.webp | Bin 0 -> 9668 bytes README.md | 22 +++++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 .github/img/docker-logo.webp diff --git a/.github/img/docker-logo.webp b/.github/img/docker-logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..76590b4ada55c8aa1661806a7d3829475e46f988 GIT binary patch literal 9668 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 + +It's possible to install the docker image of miniWikipedia by running this command: + +`docker container run YOUR_PORT:3000 d0ckmg/miniwikipedia` + +or alternatively, you can use a docker-compose file: + +**docker-compose.yml** + +```yaml +version: "3.9" +services: + node: + image: d0ckmg/miniwikipedia + container_name: miniwikipedia + ports: + - 3000:3000/tcp +``` ## Usage To use miniWikipedia, simply type a topic in the search box and click the search button or press 'enter'. While typing, below the input bar, will appear a text suggestion, to select it just click on it or press 'tab'. From b34590228ab07b651bc5c4071841e93adb8391e3 Mon Sep 17 00:00:00 2001 From: Malik <59745899+git-malik@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:48:57 +0200 Subject: [PATCH 4/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2329efd..677b181 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ To run miniWikipedia locally, you need to have Node.js and npm installed on your It's possible to install the docker image of miniWikipedia by running this command: -`docker container run YOUR_PORT:3000 d0ckmg/miniwikipedia` +`docker container run -p YOUR_PORT:3000 -d d0ckmg/miniwikipedia` or alternatively, you can use a docker-compose file: