GameKeyManager/README.md

184 lines
4.5 KiB
Markdown
Raw Normal View History

2025-04-26 12:32:07 +00:00
# 🔑 Game Key Manager 🔑
2025-04-21 11:06:38 +00:00
2025-04-26 12:32:07 +00:00
## 👋 Welcome! 👋
2025-04-21 12:41:04 +00:00
This project helps you keep track of your collected game keys.
2025-04-21 12:26:33 +00:00
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!
2025-04-21 11:06:38 +00:00
You can even gift your keys via a unique 24-hour website link just mark a game as "Gifted" and copy the link from your overview. (HTTPS recommended)
2025-04-26 12:32:07 +00:00
2025-05-10 14:14:22 +00:00
![Screenshot](GameManager1_1.png)
2025-04-26 12:32:07 +00:00
2025-04-21 12:41:04 +00:00
---
2025-04-21 11:06:38 +00:00
2025-04-21 12:41:04 +00:00
## ✨ Features ✨
2025-04-21 11:06:38 +00:00
2025-04-21 12:41:04 +00:00
- **Key Management:**
Enter your game keys, platform, source, and more.
2025-04-21 12:41:04 +00:00
- **Status Tracking:**
Mark keys as "Redeemed", "Gifted", or "Available".
- **Steam Cover & Shop Info:**
Provide the Steam AppID and get the official game cover. Add shop URLs too.
- **Game Descriptions & Prices:**
Automatically fetch game descriptions, current best prices, and historical lows from [IsThereAnyDeal](https://isthereanydeal.com/) (API key required).
- **Gifting:**
Create a one-time gift link for each game that expires after 24 hours.
- **Search Functionality:**
Quickly find games with an integrated search bar.
- **Multi-user Support:**
2025-04-21 12:41:04 +00:00
Each user manages their own keys.
- **User Roles:**
The first registered user becomes an admin automatically.
- **Admin Area:**
Admins can reset passwords, delete users, and view audit logs.
- **Audit Logs:**
Track user logins, password resets, and deleted accounts.
- **Registration Toggle:**
Enable or disable user registration via the `.env` file.
2025-04-21 12:41:04 +00:00
- **Responsive UI:**
Fully functional on desktop and mobile with Dark Mode support.
2025-04-21 12:41:04 +00:00
- **Multi-language:**
Switch between English and German on the fly.
- **Import/Export (CSV, PDF export):**
Import/export your game keys easily.
- **Password Management:**
Users can change their passwords directly.
- **Notifications:**
Get alerts for expiring keys via Gotify, Matrix, or Pushover.
- **Security Settings:**
Toggle CSRF protection and secure cookies in `.env`.
- **Self-hosted:**
No data leaves your server.
2025-05-09 14:01:52 +00:00
---
## 📱 Installable PWA
Game Key Manager now includes full Progressive Web App (PWA) support!
- Install the app on your desktop or mobile device with one click.
- Enjoy a native-app-like experience with offline access to previously loaded content.
- Add it to your home screen or applications for quicker access.
No setup required — just open the site in a modern browser (like Chrome, Edge, Firefox or Safari) and look for the install prompt or browser menu option to "Install App".
2025-04-21 11:06:38 +00:00
2025-04-21 12:41:04 +00:00
---
2025-04-21 11:06:38 +00:00
## 🚀 Get Started
2025-04-29 12:00:40 +00:00
### 1. Clone the Repository
2025-04-29 12:00:40 +00:00
```bash
git clone https://codeberg.org/nocci/GameKeyManager
```
Alternative:
2025-04-22 09:06:32 +00:00
2025-04-22 09:08:43 +00:00
```bash
2025-05-11 12:53:13 +00:00
git clone https://dev.skynet.li/nocci/GameKeyManager
2025-04-21 13:24:57 +00:00
```
2025-04-22 09:06:32 +00:00
### 2. Setup Docker
2025-04-21 11:06:38 +00:00
Make sure Docker and docker-compose are installed.
If not, the setup script can guide you (Arch-based distros may vary).
2025-04-21 11:06:38 +00:00
### 3. Initial Setup
2025-04-22 09:06:32 +00:00
2025-04-22 09:08:43 +00:00
```bash
2025-04-21 12:26:33 +00:00
chmod +x setup.sh
./setup.sh
2025-04-21 13:26:09 +00:00
```
2025-04-21 12:41:04 +00:00
### 4. Build and Start the App
2025-04-22 09:06:32 +00:00
2025-04-22 09:08:43 +00:00
```bash
2025-04-21 12:41:04 +00:00
cd steam-gift-manager/
2025-04-21 12:26:33 +00:00
docker-compose build --no-cache
docker-compose up -d
2025-04-21 13:26:09 +00:00
```
2025-04-21 12:41:04 +00:00
### 5. Configure `.env` File
2025-04-26 12:32:07 +00:00
Adjust your settings:
2025-04-26 12:32:07 +00:00
```env
SESSION_COOKIE_SECURE="True" # Only works with HTTPS
2025-04-26 12:32:07 +00:00
CSRF_ENABLED="True"
ITAD_API_KEY="your_api_key" # Optional, for price data
2025-04-26 12:32:07 +00:00
```
Apply changes after editing:
2025-04-26 12:32:07 +00:00
```bash
docker-compose down && docker-compose up -d --build
```
### 6. Translate (optional)
2025-04-22 09:06:32 +00:00
2025-04-22 09:08:43 +00:00
```bash
2025-04-21 12:26:33 +00:00
./translate.sh
2025-04-21 13:26:09 +00:00
```
2025-04-22 09:06:32 +00:00
Edit the `.json` files in `translations/`, then restart:
2025-04-22 09:06:32 +00:00
2025-04-22 09:08:43 +00:00
```bash
2025-04-26 12:32:07 +00:00
docker-compose down && docker-compose up -d --build
2025-04-21 13:26:09 +00:00
```
2025-04-21 11:06:38 +00:00
### 7. Access the App
2025-04-21 11:06:38 +00:00
Visit [http://localhost:5000](http://localhost:5000)
Register the first user this account becomes the admin!
2025-04-21 11:06:38 +00:00
2025-04-21 12:41:04 +00:00
---
2025-04-21 11:06:38 +00:00
2025-05-09 12:42:35 +00:00
## 🔔 Notifications (optional)
2025-04-21 12:26:33 +00:00
- Reminders for expiring keys (48h notice)
- Pushover, Matrix, Gotify and more are supported through AppRise
- Configurable via `.env`
2025-04-26 12:32:07 +00:00
---
## 🛠️ Tech Stack
2025-04-26 12:32:07 +00:00
- **Frontend:** Bootstrap 5, Jinja2, ...
- **Backend:** Python 3, Flask, Flask-SQLAlchemy, ...
- **Database:** SQLite
- **Container:** Docker, docker-compose
2025-04-21 12:26:33 +00:00
2025-04-21 12:41:04 +00:00
---
## 💬 Contribute
2025-04-21 12:26:33 +00:00
Contributions are welcome:
2025-04-21 12:41:04 +00:00
- Report bugs
- Suggest features
- Submit Pull Requests
2025-04-26 12:32:07 +00:00
2025-04-21 12:41:04 +00:00
---
2025-04-21 12:26:33 +00:00
2025-05-11 12:53:13 +00:00
## 💬 Our Base
You can find us here: [https://skynet.li](https://skynet.li)
---
## 🪙 Support
2025-04-21 12:26:33 +00:00
Like the project? You can support me:
[![Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/nocci)
[![Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/nocci/donate)
2025-04-21 12:26:33 +00:00
2025-04-21 12:41:04 +00:00
---
2025-04-21 12:26:33 +00:00
## 📜 License
2025-04-21 12:26:33 +00:00
Licensed under [Apache License 2.0](LICENSE).
2025-04-21 12:26:33 +00:00
2025-04-21 12:41:04 +00:00
---
**Enjoy managing your game collection!**