Files
wiki/Catalogue-Self-Hosted/apps/app-gamevault.md
T
2026-06-09 18:40:21 +02:00

8.1 KiB


title: GameVault created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, gaming, game-manager, drm-free, igdb, self-hosted-steam, csharp, dotnet] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Gaming, https://gamevau.lt/]

🎮 GameVault

"Steam auto-hébergé" pour vos jeux DRM-free — scanne vos jeux, fetch les métadonnées IGDB, télécharge les jaquettes, et les rend jouables depuis une UI.

📋 Informations Générales

Champ Valeur
Site web gamevau.lt
GitHub (frontend) Phalcode/gamevault-app
GitHub (backend) Phalcode/gamevault-backend
License CC BY-NC-SA 4.0 (source-available, pas open-source)
Langage C# / .NET 7+ (backend) + C# WPF (client Windows)
Étoiles 45 (catalogue) / ~750 (GitHub)
Dernière MAJ 2025-12 (v1.17.5 frontend)
Catégorie cat-gaming

⚠️ Note du catalogue : la tâche d'origine mentionnait "Python", ce qui est incorrect. GameVault est écrit en C#/.NET. Attention également à la licence : le projet se déclare lui-même "not open-source, and never was" — il s'agit de source-available avec restrictions non-commerciales. Voir l'explication officielle.

📝 Description

GameVault est un gestionnaire de bibliothèque de jeux PC self-hosted qui se positionne comme "le Steam auto-hébergé pour les jeux DRM-free". Vous stockez vos jeux (achetés légalement, sans DRM) sur votre serveur, GameVault scanne, identifie via IGDB (Internet Game Database), récupère jaquettes, descriptions, trailers, et expose tout ça via une UI type Steam avec installation/launch en un clic.

L'architecture est client-serveur : un backend C# .NET gère la base, le scan, l'API, l'auth, et un client Windows (WPF) sert d'UI native (style Steam). Le projet fournit aussi une API REST documentée utilisable par d'autres clients tiers (utile pour les integrations Home Assistant ou Kodi par exemple).

Le modèle de licence est particulier : CC BY-NC-SA 4.0 — vous pouvez installer, modifier, et même re-distribuer votre version modifiée, mais pas à des fins commerciales. L'auteur vend un GameVault+ premium tier (Ko-Fi/Liberapay) pour les utilisateurs qui veulent du support. Pas d'open-source au sens OSI, mais le code est consultable et modifiable.

Fonctionnalités clés :

  • Scan automatique de vos dossiers de jeux
  • Match IGDB automatique (nom, dev, jaquette, trailer, genre)
  • Tag/filter : plateforme, genre, année, état d'installation
  • UI type Steam : cover grid, detail view, "Play" button
  • Multi-utilisateurs : bibliothèque partagée entre amis
  • API REST complète (utilisable par des clients tiers)
  • Achievements tracking
  • Bookmarks/Favoris
  • Manifestes d'installation pour gérer les dépendances (DirectX, redistribuables)
  • Compression/Décompression à la volée pour économiser la bande passante

🚀 Installation

Option 1 : Docker Compose (backend)

# docker-compose.yml
services:
  gamevault-backend:
    container_name: gamevault-backend
    image: phalcode/gamevault-backend:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./gamevault/data:/app/data           # base SQLite + cache
      - /chemin/vers/jeux:/games:ro          # dossier de jeux (lecture seule)
      - /chemin/vers/jeux-cache:/games-cache # cache de scan
    environment:
      - TZ=Europe/Paris
      - DATABASE_PATH=/app/data/gamevault.db
      - GAMES_PATH=/games
      - ADMIN_USERNAME=admin
      - ADMIN_PASSWORD=Change...t
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.gamevault.rule=Host(`gamevault.example.com`)"
      - "traefik.http.routers.gamevault.entrypoints=websecure"
      - "traefik.http.routers.gamevault.tls.certresolver=letsencrypt"
      - "traefik.http.services.gamevault.loadbalancer.server.port=8080"
docker compose up -d

Option 2 : Installation manuelle (backend)

git clone https://github.com/Phalcode/gamevault-backend.git
cd gamevault-backend
dotnet restore
dotnet run --project src/GameVault.Web

Option 3 : Client Windows natif

Télécharger gamevault-app (Windows) — UI WPF qui se connecte à votre backend.

⚙️ Configuration

  1. Premier compte admin : créé au premier démarrage avec ADMIN_USERNAME / ADMIN_PASSWORD. Changer immédiatement.
  2. Dossier de jeux : monter le dossier où vous stockez vos .exe / .iso / dossiers de jeux. GameVault scanne récursivement.
  3. IGDB : pour les métadonnées, soit utiliser le scraper par défaut, soit configurer une clé Twitch/IGDB dans appsettings.json (gratuit, voir docs).
  4. Multi-utilisateurs : créer des comptes depuis l'admin panel. Les permissions (admin/user) se gèrent via l'UI.
  5. Reverse proxy : app-traefik ou app-caddy pour exposer avec HTTPS (utile pour le client Windows distant).
  6. Backup : ./gamevault/data/gamevault.db (SQLite) — sauvegarder régulièrement.

🔄 Alternatives

Open Source / Source-available

  • app-gameyfin — Concurrent direct, Kotlin/Spring, v2 réécrit
  • RomM — Magnifique UI, mais orienté ROMs rétro
  • Gaseous — Manager ROMs/jeux IGDB
  • Lutris — Game manager Linux (open source, pas serveur)
  • Heroic Games Launcher — Epic/GOG/Amazon Linux
  • Playnite — Game library manager Windows (open source, pas serveur)
  • Hydra — Launcher multi-platformes (Cloud)
  • LaunchBox — Windows, freemium

Propriétaires (ce que GameVault remplace)

  • Steam — Le modèle de référence, mais propriétaire, lié à un compte
  • GOG Galaxy — Launcher GOG/CD Projekt
  • Epic Games Launcher — Launcher Epic
  • EA App / Origin — Launcher EA
  • Ubisoft Connect — Launcher Ubisoft
  • Battle.net — Launcher Blizzard/Activision

Comparaison rapide

Critère GameVault Gameyfin Lutris Playnite
Type Client-serveur Serveur web App Linux App Windows
Self-hosted serveur
Scan IGDB
Multi-utilisateurs
API REST
Licence CC BY-NC-SA 4.0 AGPL-3.0 GPL-3.0 MIT
Langage C#/.NET Kotlin Python/GTK C#/.NET

🔐 Sécurité

  • Auth obligatoire sur le backend. Utiliser un mot de passe fort + 2FA (non natif — passer par app-authelia devant).
  • HTTPS obligatoire : utiliser app-traefik ou app-caddy avec Let's Encrypt.
  • Dossier jeux en read-only (:ro dans Docker) si vous voulez empêcher l'app de modifier vos fichiers de jeu.
  • API publique : la REST API n'a pas d'auth par défaut, ne pas exposer directement sur Internet.
  • Légalité des jeux : GameVault gère des jeux DRM-free uniquement. Les jeux avec DRM (Steam, Origin, ...) doivent être lancés via leur launcher officiel.
  • CC BY-NC-SA 4.0 : vous pouvez modifier le code pour votre usage, mais interdiction d'usage commercial et vous devez re-distribuer vos modifications sous la même licence.
  • Backups : ./gamevault/data/ (SQLite + cache), et bien sûr le dossier de jeux source.

📚 Ressources

Pages Liées