diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..92c189c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM node:20-alpine + +WORKDIR /checker + +COPY package.json ./ +COPY pnpm-lock.yaml ./ +COPY src ./src + +LABEL org.opencontainers.image.source=https://git.pfy.ch/pfych/chapter-tracker +LABEL org.opencontainers.image.description="Ping a webhook when a new MangaDex chapter is released" +LABEL org.opencontainers.image.licenses=MIT + +RUN npm install -g pnpm +RUN pnpm install +RUN pnpm run compile + +CMD ["node", "./.out/build.js"] diff --git a/README.md b/README.md index 97f77fc..6fb45a1 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ Create a `config.json` in the root directory of the project, or alongside the sc ] } } - ``` Once the config is set up you can run the script: @@ -36,3 +35,16 @@ Once the config is set up you can run the script: ```shell node .out/build.js # Or wherever the script is located ``` + +## Docker + +You can also run the script in a Docker container: + +```yaml +services: + checker: + image: git.pfy.ch/pfych/chapter-tracker:latest + volumes: + - "./config.json:/checker/config.json" + - "./mangaHistory.json:/checker/mangaHistory.json" +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..57cc44b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,6 @@ +services: + checker: + image: git.pfy.ch/pfych/chapter-tracker:latest + volumes: + - "./config.json:/checker/config.json" + - "./mangaHistory.json:/checker/mangaHistory.json" diff --git a/src/index.ts b/src/index.ts index 29250a1..adb9c9b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -23,6 +23,10 @@ void (async () => { }; }, {} as MangaByWebhook); + console.log( + `Config loaded (${uniqueMangaIds.length} Manga, ${Object.keys(mangaByWebhook).length} Webhooks) `, + ); + const checkForUpdates = async () => { console.log('\nChecking for updates...');