Container image:
docker pull ghcr.io/melv-n/webhallen-supply-drop:latest
make build— Build the Docker image locallymake push— Build and push the image to GHCRmake run— Run the image locally with your.envfile
version: "3.8" services: supply-drop: image: ghcr.io/melv-n/webhallen-supply-drop:latest container_name: supply-drop restart: unless-stopped environment: WEBHALLEN_USERNAME: "your_username" WEBHALLEN_PASSWORD: "your_password" PUSHOVER_TOKEN: "your_pushover_token" # optional PUSHOVER_USER: "your_pushover_user" # optional TZ: Europe/Stockholm
- Node.js 24 or newer
- pnpm (install with
npm install -g pnpm)
- Install dependencies:
pnpm install
- Create a
.envfile with your credentials:WEBHALLEN_USERNAME=your_username WEBHALLEN_PASSWORD=your_password PUSHOVER_TOKEN=your_pushover_token PUSHOVER_USER=your_pushover_user
- Run the app:
pnpm start
- Build the image:
make build
- Push to GCHR:
make push
- Run locally:
make run
- Uses native
fetch(Node.js 18+ required, Node.js 24+ recommended). - All code is now in TypeScript.
- Uses pnpm for dependency management.
To setup Push notifications you need to setup an account with Pushover. You can try it out for free for 7 days and after that choose to unlock forever for 5$ per device platform (e.g. unlock it for all Apple devices).
- Create your account
- Download the Pushover app on your phone and login
- Create a new Pushover app and call it something like "Supply Drop". You'll get a code, this is the
PUSHOVER_TOKENyou should add in your.envfile. - Find your "User Key" on the Pushover dashboard and set this to
PUSHOVER_USER - Done!
All logs are written to logs/app.log
Supply drops are replenished every Monday-night. The below CRON entry will run this script every Tuesday morning at 8am:
0 8 * * TUE (cd ~/scripts-bin/supply-drop && /usr/local/bin/node --experimental-modules -r dotenv/config index.mjs) > /var/log/webhallen-supplydrop.log
You should change the paths to where you've cloned this repo.
Note that I'm running this on an old Raspberry Pi (arm6), meaning that the latest support version of Node is v11. If you're running Node v13+ you can change npm run node11 with npm start.
crontab -e- Add the above snippet to the end of the file
ctrl + oto savectrl + xto quit