diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..adf5784 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,34 @@ +name: Build + +on: push + +jobs: + build: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to ghcr + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + push: true + tags: ghcr.io/${{ github.repository }}:latest + platforms: linux/amd64 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a6789c7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM node:lts-alpine3.20 + +WORKDIR /app + +COPY package.json yarn.lock ./ + +RUN npm install + +COPY . . + +CMD ["npm", "run", "start"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b5ee12d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,6 @@ +services: + bot: + image: ghcr.io/wezuwiusz/wezuwiuszowybot + restart: unless-stopped + env_file: + - .env diff --git a/index.js b/index.js index fb6e726..74f39d7 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,8 @@ const { Telegraf } = require('telegraf') const fs = require('fs'); +require('dotenv').config() + let catfacts = fs.readFileSync('assets/catfacts.txt').toString('UTF8').split('\n'); let nodiscord = [ 'Nie planujemy posiadać Discorda.', diff --git a/package.json b/package.json index 33ddb7b..ea8f429 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { "name": "WezuwiuszowyBot", "dependencies": { + "dotenv": "^16.4.5", "telegraf": "^4.16.3" }, "scripts": { - "start": "node --env-file=.env index.js" + "start": "node index.js" } } diff --git a/yarn.lock b/yarn.lock index 66e4d1e..319ac69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,6 +39,11 @@ debug@^4.3.4: dependencies: ms "2.1.2" +dotenv@^16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"