GameKeyManager/README.md

5.2 KiB
Raw Permalink Blame History

🔑 Game Key Manager 🔑

👋 Welcome! 👋

This project helps you keep track of your collected game keys.
No more confusion about whether a key is redeemed, gifted, or still unused now you have everything in one place, with search, status, and even automatic Steam cover images!

It's even possible to gift your keys via a unique website. Just edit the game to "Gifted" and you'll get a option to copy the on your overview page. (maybe HTTPS only)

(the link will also remain in the edit area)

Screenshot


Features

  • Key Management:
    Enter your game keys, the corresponding game, platform, and maybe where you got the key.
  • Status Tracking:
    Mark keys as "Redeemed", "Gifted" or "Available" always know your status.
  • Shop URL & Steam Cover:
    Save the shop URL and (optionally) the Steam AppID. The app will automatically show the official Steam cover image if available.
  • Gift your Games: You can create a unique redeem/gift website, which will expire after 24h.
  • Multi-user:
    Each user manages their own keys.
  • Enable/Disable Registrations: Perfect if you want to run the Server just on your own (via .env file)
  • Search:
    Find games quickly with the search function.
  • Responsive UI:
    Works on desktop and mobile, with Dark Mode toggle.
  • Multi-language:
    Switch between English and German instantly*.
  • Import/Export (CSV / PDF -only export-): Easy export and import of your keys. (e.g. in case you have to start over)
  • Change Password: Change your Password on the fly.
  • Website Security: You can turn on/off CSRF and Secure Cookie via .env file.
  • Notifications: If you have key that have to be redeemed before a specific date. You can set up sending messages via, Pushover, Matrix and Gotify
  • No key data leaves your server!
  • (Planned):
    • Import/Export (CSV)
    • Redeem site with unique sharing link

🚀 Get Started! 🚀

1. Clone the Repository (Option 1 or Option 2)

Option 1: Clone the main repository

git clone https://codeberg.org/nocci/GameKeyManager
cd steam-gift-manager

Option 2: Clone from alternative repository (if option 1 fails)

git clone https://git.nocci.it/nocci/GameKeyManager

2. Setup Docker

Make sure you have Docker and docker-compose installed. If not, the script will ask you what to do and can install Docker and docker-compose for you. (maybe not if you are running Arch)

3. Initial Setup

chmod +x setup.sh
./setup.sh

This script prepares all directories, configuration, and translation files.

4. Build and Start the App

cd steam-gift-manager/
docker-compose build --no-cache
docker-compose up -d

5. Edit your .env file to your liking

It's in your root folder of the installation!

# Security
SESSION_COOKIE_SECURE="True" (only works if you run this app via HTTPS)
CSRF_ENABLED="True"

Important after any(!) change of the .env file!

cd steam-gift-manager/
docker-compose down && docker-compose up -d --build

6. Initialize and Edit Translations (Optional)

./translate.sh

Edit the .po files in translations/de_DE/LC_MESSAGES/messages.po and en_US/LC_MESSAGES/messages.po

./translate.sh
cd steam-gift-manager/
docker-compose down && docker-compose up -d --build

7. Open the App

Go to http://localhost:5000 in your browser.

  • Register your first user.
  • Add your keys, shop URLs etc.
  • Enjoy search, status, and automatic Steam cover images!

🛠️ Technology Stack 🛠️

  • Frontend: Bootstrap 5, Jinja2 Templates ...
  • Backend: Python 3, Flask, Flask-Babel, Flask-Login, Flask-SQLAlchemy ...
  • Database: SQLite (persisted in data/)
  • Containerization: Docker, docker-compose
  • Translations: Flask-Babel, editable .po files in translations/

🌍 Multi-language

  • Switch between English and German using the dropdown in the navigation bar.
  • All game and menu texts can be translated or individualized.

🔔 Notifications

  • Send notifications if a game has to be redeemed by a specific date
  • Gotify, Matrix and Pushover are already available - have a look into the .env file
  • 48 hours before you are running out of time the app will send you a notice

🪙 Do you this project? 🪙

If youd like to support itme, you can make a donation here:

Ko-fi

Liberapay

Thank you!


🙌 Contribute! 🙌

This project is open source!

  • Bug Reports: Please report bugs as Issues.
  • Feature Requests: Suggest new features!
  • Pull Requests: Submit your code changes!

// only possible after Forgejo opens for federation \\


📜 License 📜

This project is licensed under the Apache License 2.0.


💖 Acknowledgements 💖

A big thank you to everyone who supports and contributes to this project!


Enjoy your organized Game key collection! 🚀