167 lines
4.0 KiB
Markdown
167 lines
4.0 KiB
Markdown
# 🔑 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!
|
||
|
||
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)
|
||
|
||

|
||
|
||
---
|
||
|
||
## ✨ Features ✨
|
||
|
||
- **Key Management:**
|
||
Enter your game keys, platform, source, and more.
|
||
- **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:**
|
||
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.
|
||
- **Responsive UI:**
|
||
Fully functional on desktop and mobile with Dark Mode support.
|
||
- **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.
|
||
|
||
---
|
||
|
||
## 🚀 Get Started
|
||
|
||
### 1. Clone the Repository
|
||
|
||
```bash
|
||
git clone https://codeberg.org/nocci/GameKeyManager
|
||
cd steam-gift-manager
|
||
```
|
||
|
||
Alternative:
|
||
|
||
```bash
|
||
git clone https://git.nocci.it/nocci/GameKeyManager
|
||
```
|
||
|
||
### 2. Setup Docker
|
||
|
||
Make sure Docker and docker-compose are installed.
|
||
If not, the setup script can guide you (Arch-based distros may vary).
|
||
|
||
### 3. Initial Setup
|
||
|
||
```bash
|
||
chmod +x setup.sh
|
||
./setup.sh
|
||
```
|
||
|
||
### 4. Build and Start the App
|
||
|
||
```bash
|
||
cd steam-gift-manager/
|
||
docker-compose build --no-cache
|
||
docker-compose up -d
|
||
```
|
||
|
||
### 5. Configure `.env` File
|
||
|
||
Adjust your settings:
|
||
|
||
```env
|
||
SESSION_COOKIE_SECURE="True" # Only works with HTTPS
|
||
CSRF_ENABLED="True"
|
||
ITAD_API_KEY="your_api_key" # Optional, for price data
|
||
```
|
||
|
||
Apply changes after editing:
|
||
|
||
```bash
|
||
docker-compose down && docker-compose up -d --build
|
||
```
|
||
|
||
### 6. Translate (optional)
|
||
|
||
```bash
|
||
./translate.sh
|
||
```
|
||
|
||
Edit the `.json` files in `translations/`, then restart:
|
||
|
||
```bash
|
||
docker-compose down && docker-compose up -d --build
|
||
```
|
||
|
||
### 7. Access the App
|
||
|
||
Visit [http://localhost:5000](http://localhost:5000)
|
||
Register the first user – this account becomes the admin!
|
||
|
||
---
|
||
|
||
## 🔔 Notifications (optinal)
|
||
|
||
- Reminders for expiring keys (48h notice)
|
||
- Pushover, Matrix, Gotify and more are supported through AppRise
|
||
- Configurable via `.env`
|
||
|
||
---
|
||
|
||
## 🛠️ Tech Stack
|
||
|
||
- **Frontend:** Bootstrap 5, Jinja2, ...
|
||
- **Backend:** Python 3, Flask, Flask-SQLAlchemy, ...
|
||
- **Database:** SQLite
|
||
- **Container:** Docker, docker-compose
|
||
|
||
---
|
||
|
||
## 💬 Contribute
|
||
|
||
Contributions are welcome:
|
||
|
||
- Report bugs
|
||
- Suggest features
|
||
- Submit Pull Requests
|
||
|
||
---
|
||
|
||
## 🪙 Support
|
||
|
||
Like the project? You can support me:
|
||
|
||
[](https://ko-fi.com/nocci)
|
||
[](https://liberapay.com/nocci/donate)
|
||
|
||
---
|
||
|
||
## 📜 License
|
||
|
||
Licensed under [Apache License 2.0](LICENSE).
|
||
|
||
---
|
||
|
||
**Enjoy managing your game collection!** |