docs: add IGDB setup guide, .env.example, and .gitignore for public release
Build & Deploy / build-and-deploy (push) Successful in 14s
Build & Deploy / build-and-deploy (push) Successful in 14s
- Add .env.example with Twitch credential instructions - Update docker-compose.yml to use env_file instead of inline comments - Add IGDB Metadata section to README with setup walkthrough - Add .env / .env.local to .gitignore to prevent secret leaks
This commit is contained in:
@@ -0,0 +1,10 @@
|
|||||||
|
# Dostalgia — Environment Configuration
|
||||||
|
# Copy this file to .env and fill in your values:
|
||||||
|
# cp .env.example .env
|
||||||
|
|
||||||
|
# Twitch Client ID for IGDB metadata auto-scrape.
|
||||||
|
# Get yours at https://dev.twitch.tv/console/apps → Create Application
|
||||||
|
# (Set OAuth Redirect URL to http://localhost, Category to "Other")
|
||||||
|
# Optional — IGDB features gracefully skip if not set.
|
||||||
|
# TWITCH_CLIENT_ID=your_client_id_here
|
||||||
|
# TWITCH_CLIENT_SECRET=your_client_secret_here
|
||||||
@@ -2,6 +2,10 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
frontend/node_modules/
|
frontend/node_modules/
|
||||||
|
|
||||||
|
# Environment — secrets
|
||||||
|
.env
|
||||||
|
.env.local
|
||||||
|
|
||||||
# Built output
|
# Built output
|
||||||
frontend/dist/
|
frontend/dist/
|
||||||
dist/
|
dist/
|
||||||
|
|||||||
@@ -4,14 +4,29 @@ A nostalgic DOS game hub. Upload your old DOS games, scrape artwork, and play th
|
|||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
### With Docker Compose (easiest)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build and run with Docker
|
# 1. (Optional) Enable IGDB metadata auto-scrape
|
||||||
docker build -t dostalgia .
|
cp .env.example .env
|
||||||
docker run -p 8765:8765 -v $(pwd)/data:/data dostalgia
|
# Edit .env with your Twitch credentials (see IGDB section below)
|
||||||
|
|
||||||
|
# 2. Build & run
|
||||||
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Open http://localhost:8765
|
Open http://localhost:8765
|
||||||
|
|
||||||
|
### With Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t dostalgia .
|
||||||
|
docker run -p 8765:8765 -v $(pwd)/data:/data \
|
||||||
|
-e TWITCH_CLIENT_ID=your_id \
|
||||||
|
-e TWITCH_CLIENT_SECRET=your_secret \
|
||||||
|
dostalgia
|
||||||
|
```
|
||||||
|
|
||||||
## Development (without Docker)
|
## Development (without Docker)
|
||||||
|
|
||||||
Terminal 1 — Frontend dev server:
|
Terminal 1 — Frontend dev server:
|
||||||
@@ -66,3 +81,22 @@ java -jar target/quarkus-app/quarkus-run.jar
|
|||||||
"ready": true
|
"ready": true
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## IGDB Metadata (Optional)
|
||||||
|
|
||||||
|
Dostalgia can auto-populate game metadata (year, genre, developer, cover art, screenshots, videos) from the [IGDB](https://www.igdb.com/) database. This requires a Twitch API application.
|
||||||
|
|
||||||
|
**Setup:**
|
||||||
|
|
||||||
|
1. Go to https://dev.twitch.tv/console/apps → **Register Your Application**
|
||||||
|
2. Name: `Dostalgia` (or anything), OAuth Redirect URL: `http://localhost`, Category: **Other**
|
||||||
|
3. Copy the **Client ID** and generate a **Client Secret**
|
||||||
|
4. Provide them via environment variables:
|
||||||
|
|
||||||
|
| Method | How |
|
||||||
|
|--------|-----|
|
||||||
|
| Docker run | `-e TWITCH_CLIENT_ID=xxx -e TWITCH_CLIENT_SECRET=yyy` |
|
||||||
|
| Docker Compose | Copy `.env.example` to `.env` and fill in the values |
|
||||||
|
| Local dev | `export TWITCH_CLIENT_ID=xxx TWITCH_CLIENT_SECRET=yyy` |
|
||||||
|
|
||||||
|
IGDB features degrade gracefully — if credentials aren't set, uploads and metadata editing still work, just without auto-scrape.
|
||||||
|
|||||||
+2
-3
@@ -6,9 +6,8 @@ services:
|
|||||||
- "8765:8765"
|
- "8765:8765"
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- DOSTALGIA_DATA_DIR=/data
|
- DOSTALGIA_DATA_DIR=/data
|
||||||
# IGDB credentials — set these for auto-scrape to work:
|
|
||||||
# - TWITCH_CLIENT_ID=your_client_id
|
|
||||||
# - TWITCH_CLIENT_SECRET=your_client_secret
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
Reference in New Issue
Block a user