5.6 KiB
title: Gaseous created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, gaming, rom, retro, emulation, metadata, igdb] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Gaming, https://github.com/gaseous-project/gaseous-server]
💿 Gaseous
Gestionnaire de ROMs avec identification automatique par hash et émulateur web intégré (EmulatorJS) — un concurrent direct de RomM.
| Métadonnée | Valeur |
|---|---|
| Site web | https://github.com/gaseous-project/gaseous-server |
| GitHub | https://github.com/gaseous-project/gaseous-server |
| License | AGPL-3.0 |
| Langage | C# (.NET / ASP.NET Core) + JavaScript (EmulatorJS) |
| Étoiles | 895 ⭐ |
| Dernière MAJ | 2026-05-14 (v1.7.14) |
| Catégorie | cat-gaming |
Description
Gaseous est un gestionnaire de ROMs self-hosted qui combine trois fonctions en une seule application : identification automatique des jeux par hash de fichier, récupération de métadonnées depuis plusieurs sources (IGDB, Hasheous), et émulation en navigateur via EmulatorJS. L'utilisateur dépose ses ROMs brutes, Gaseous calcule leur empreinte, les associe au bon titre (avec jaquette, description, date de sortie, studio) et permet d'y jouer directement depuis le navigateur.
Le projet se distingue de app-romm par son architecture en briques (un process host séparé pour les tâches lourdes, une lib gaseous-lib réutilisable, un CLI dédié) et par son focus sur le matching par signature plutôt que par nom de fichier — ce qui est crucial pour les sets ROMs où les fichiers sont renommés (No-Intro, Redump, etc.). Gaseous gère aussi les fichiers CHD et les sets multi-disques.
L'authentification (à partir de v1.7.0) permet d'exposer l'instance sur Internet en relative sécurité, mais l'équipe recommande de privilégier l'accès via VPN (app-wireguard, app-tailnet) pour limiter la surface d'attaque. Le projet est soutenu par un petit groupe de contributeurs et un Ko-fi.
Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
gaseous:
image: ghcr.io/gaseous-project/gaseous-server:latest
container_name: gaseous
restart: unless-stopped
depends_on:
- db
environment:
- GASEOUS_DB_CONNECTION_STRING=Server=db;Port=3306;Database=gaseous;Uid=gaseous;Pwd=changeme;
- GASEOUS_IGDB_CLIENT_ID=your_twitch_client_id
- GASEOUS_IGDB_CLIENT_SECRET=your_twitch_client_secret
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- gaseous_config:/app/config
- gaseous_roms:/app/roms # vos ROMs
- gaseous_media:/app/media # cache des jaquettes
ports:
- "5192:5192"
db:
image: mariadb:11.1
container_name: gaseous-db
restart: unless-stopped
environment:
- MARIADB_DATABASE=gaseous
- MARIADB_USER=gaseous
- MARIADB_PASSWORD=changeme
- MARIADB_RANDOM_ROOT_PASSWORD=yes
volumes:
- gaseous_db:/var/lib/mysql
volumes:
gaseous_config:
gaseous_roms:
gaseous_media:
gaseous_db:
Option 2 : Installation manuelle (Windows)
Un installeur WiX est fourni dans les releases. Pré-requis : .NET 8 runtime, MariaDB 11+ et ffmpeg dans le PATH.
Configuration
- Clé API IGDB : créer une app Twitch (https://api-docs.igdb.com/#account-creation) pour activer le scraping de métadonnées
- Hasheous proxy : alternative open source à IGDB, évite la dépendance Twitch
- Signatures : importer le pack de signatures via Settings > Signatures pour le matching par hash
- Scan de bibliothèque : tâche de fond Library Scan qui ré-identifie les ROMs (peut prendre plusieurs heures sur un gros set)
- Lecture depuis le navigateur : EmulatorJS est intégré, lancer un jeu depuis l'UI ouvre directement le player
Alternatives
Open Source
- app-romm — Concurrent direct, Python/TypeScript, scan plus rapide, communauté plus large
- app-retrom — Centralized game management, Kotlin, interface moderne
- app-gameyfin — Video game manager en Kotlin, plus jeune
- app-retroassembly — Collection retro dans le navigateur, TypeScript
- Lutris — Client de jeu Linux (pas de web UI)
- Pegasus Frontend — Frontend pour émulateurs desktop
Propriétaires
- EmuMovies / GameTDB — Bases de métadonnées centralisées (pas self-hosted)
- LaunchBox / BigBox — Frontends Windows payants
Sécurité
- Authentification : créer un compte admin dès le premier lancement, désactiver l'inscription publique
- Reverse proxy (app-traefik) avec TLS obligatoire si exposition WAN
- Clé IGDB : ne pas commit dans le compose, utiliser un
.envou les secrets Docker - Base de données : MariaDB dans un réseau Docker isolé, mot de passe fort
- Sauvegardes :
/app/config(utilisateurs) + dump SQL de MariaDB
Ressources
- GitHub gaseous-project/gaseous-server
- Wiki Installation
- Wiki ROM Metadata Matching
- Discord officiel
- EmulatorJS — moteur d'émulation utilisé
Pages Liées
- cat-gaming — Catégorie Gaming
- app-romm — Concurrent principal
- app-retrom — Alternative moderne
- app-traefik — Reverse proxy
- app-authelia — SSO recommandé
- recettes-docker-compose — Templates Docker