Skip to content
This repository was archived by the owner on Apr 24, 2026. It is now read-only.

Repository files navigation

Important

🚨 This repository is no longer actively maintained.

Development has moved to a new repository with major improvements, refactoring, and ongoing updates:
👉 https://github.com/KostaD02/steam-idler

This version is kept for historical/reference purposes and will be archived.


steam-idler-logo
Steam-Idler: open-source idling application.

Table of contents

Introduction

Steam-Idler is a self-hosted application for Steam game idling. It can idle as many games as you want on as many accounts as you want. It's great for farming cards or increasing game hours.

Features

  • Docker support
  • Simple managing UI
  • Parallel multi-account idling
  • Idling multiple games in parallel
  • Managing Steam persona status while idling
  • Custom message replies while idling
  • Custom game display while idling

Getting started

See instructions to run Steam-idler below.

Prerequisites

How to set up

The application can be easily set up using Docker Compose.

Docker compose

mkdir steam-idler
cd steam-idler
curl -o docker-compose.yml https://raw.githubusercontent.com/KostaD02/steam-idler/main/docker-compose.yml
docker compose up -d

Note

That was it, you are ready to use it!

How does it work

The first question might be: Is it safe? Yes this application uses the steam-user package, which allows interaction with the Steam API through Node.js.

To start idling for an account, you need to sign in first. During this process, you'll be prompted to provide the following information:

  • Username
  • Password
  • Two-factor authentication code

After the authorization process, your data will be saved on your machine using MongoDB. This data does not include your password. The following will be saved after authorization:

  • steamId
  • steamCookies
  • steamRefreshToken

You can review exactly what is stored by checking this file. This data is required to prevent the need to log in again whenever the server is stopped or restarted.

Caution

Since your password is sent during the sign-in process, it is recommended to use a reverse proxy in your hosted environment.

Development

First we need to clone repository.

git clone https://github.com/KostaD02/steam-idler

Then need to install packages:

cd steam-idler
npm ci

Create .env file similar to .env.example, for example:

PORT = 2222
HIDE_LOGS = false
DATABASE_URL = mongodb://127.0.0.1:27017/steam-idler

Note

You can change the DATABASE_URL to a remote address, but be sure to consider security implications.

After that, run the following script in the terminal:

npm run start

Usage

Just open the browser and type ip:port of the machine running Steam-idler.

Screenshots

Check more images inside the screenshots.

Home Light Home Dark Swagger

Project Architecture

The application is built using the NestJS.

Contributing

I will add new features when I have time, but you don't have to wait feel free to add them yourself! Fork the project and submit pull requests. Check more details at contributing page.

Issues

If you see any issues, feel free to open an issue or suggest a pull request.

Logs

If you didn't hide logs from the .env file, you can easily check what's happening in background processes by running this script:

docker logs steam-idler --follow

To Do

Here are a few ideas that will be implemented in the future. You can also open an issue for any of these ideas.

  • Better client side UI
  • i18n - translations for client side

About

Steam-Idler: Open-source idling application (archived version)

Topics

Resources

Contributing

Stars

16 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages