Skip to content

krzysziomek/hourbooster

 
 

Repository files navigation

hourbooster

A simple Steam hour booster with a real-time web dashboard and container-first deployment workflow.

Prerequisites

  • Steam accounts exported from S.A.G.E. in Raw JSON format saved to sage-accounts.json.
  • Game sub IDs listed in config.json.

Quick start (prebuilt container)

Prebuilt multi-architecture images are published to the GitHub Container Registry via the included GitHub Actions workflow.

  1. Authenticate to GHCR once on your machine (replace USERNAME with your GitHub username):

    echo "<PAT>" | docker login ghcr.io -u USERNAME --password-stdin

    The PAT needs the read:packages scope.

  2. Pull and start the dashboard using Docker Compose. Override HOURBOOSTER_IMAGE if you fork the repo or publish under a different namespace:

    export HOURBOOSTER_IMAGE=ghcr.io/<owner>/hourbooster:latest
    docker compose up -d
  3. Open http://localhost:3000 to manage your boosting sessions.

Configuration files are mounted into the container, so edits on the host are picked up automatically. Restart the container if you change account credentials while it is running.

Building the image locally

If you need to test local changes, extend the default Compose file with the provided build override:

docker compose -f docker-compose.yml -f docker-compose.build.yml up --build

Local development without Docker

  1. Install dependencies with npm install.
  2. Start the dashboard with npm start.
  3. Visit http://localhost:3000 in your browser.

Continuous delivery pipeline

  • .github/workflows/docker.yml runs npm ci and npm audit to fail fast on dependency vulnerabilities.
  • On every push to main, release publication, or manual dispatch, Docker Buildx creates multi-architecture images (linux/amd64, linux/arm64) and publishes them to ghcr.io/<owner>/hourbooster.

Dashboard features

  • Start and stop boosting for each configured account.
  • Automatic SteamGuard mobile code entry when shared secrets are present.
  • Manual SteamGuard code prompts delivered directly in the browser.
  • Live log stream with color-coded severity for quick troubleshooting.

Tips

  • Leave sage-accounts.json empty ([]) until you are ready to paste your export.
  • For new games, append the app IDs to the games array in config.json.

About

Very simple headless Steam hourbooster that reads SAGE exported accounts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 70.0%
  • CSS 18.9%
  • HTML 9.3%
  • Dockerfile 1.8%