-
-
Notifications
You must be signed in to change notification settings - Fork 29
Installation
- An IGDB API key. See https://github.com/gaseous-project/gaseous-server/wiki/Metadata for instructions on creating an API key.
Note: The container's internal data directory changed from
/root/.gaseous-serverto/home/gaseous/.gaseous-serverin version 2. When upgrading, please update yourdocker-compose.ymlvolume mapping and rename/move any existing data directory before starting or upgrading.
- Create a new directory on your host named
gaseous - Enter
cd gaseousto move into thegaseousdirectory - Enter
nano docker-compose.yml(or your favourite text editor) to create a newdocker-compose.ymlfile - Paste the following Docker Compose yaml into the file:
version: '2'
services:
gaseous-server:
container_name: gaseous-server
image: gaseousgames/gaseousserver:latest
restart: unless-stopped
networks:
- gaseous
depends_on:
- gsdb
ports:
- 5198:80
volumes:
- gs:/home/gaseous/.gaseous-server
environment:
- TZ=Australia/Sydney
- dbhost=gsdb
- dbuser=root
- dbpass=gaseous
- igdbclientid=<clientid>
- igdbclientsecret=<clientsecret>
gsdb:
container_name: gsdb
image: mariadb
restart: unless-stopped
networks:
- gaseous
volumes:
- gsdb:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD=gaseous
- MARIADB_USER=gaseous
- MARIADB_PASSWORD=gaseous
networks:
gaseous:
driver: bridge
volumes:
gs:
gsdb:- Edit the environment variables igdbclientid and igdbclientsecret to the values retrieved from your IGDB account (see: https://github.com/gaseous-project/gaseous-server/wiki/Metadata for details on creating your IGDB key). Other environment variables that can be configured can be found here: https://github.com/gaseous-project/gaseous-server/wiki/Configuration-File
- Save and close the file
- Run the command
docker-compose up -d - Connect to the host on port 5198
Note: This container contains a MariaDB instance built in and is intended for use on systems that do not easily allow multiple containers such as Unraid. It is not recommended that this image be used if you have the choice as the built in MariaDB instance is only updated when the image is published, which may be a security risk.
- Create a new directory on your host named
gaseous - Enter
cd gaseousto move into thegaseousdirectory - Enter
nano docker-compose.yml(or your favourite text editor) to create a newdocker-compose.ymlfile - Paste the following Docker Compose yaml into the file:
version: '2'
services:
gaseous-server:
container_name: gaseous-server
image: gaseousgames/gaseousserver:latest-embeddeddb
restart: unless-stopped
networks:
- gaseous
ports:
- 5198:80
volumes:
- gs:/home/gaseous/.gaseous-server
- gsdb:/var/lib/mysql
environment:
- TZ=Australia/Sydney
- PUID=1000
- PGID=1000
- igdbclientid=<clientid>
- igdbclientsecret=<clientsecret>
networks:
gaseous:
driver: bridge
volumes:
gs:
gsdb:- Edit the environment variables igdbclientid and igdbclientsecret to the values retrieved from your IGDB account (see: https://github.com/gaseous-project/gaseous-server/wiki/Metadata for details on creating your IGDB key). Other environment variables that can be configured can be found here: https://github.com/gaseous-project/gaseous-server/wiki/Configuration-File
- Save and close the file
- Run the command
docker-compose up -d - Connect to the host on port 5198
- Install and configure a MariaDB or MySQL instance - this is beyond the scope of this document
- Install the dotnet 7.0 packages appropriate for your operating system
- Create a database user with permission to create a databse. Gaseous will create the new database and apply the database schema on it's first startup.
- Clone the repo with
git clone https://github.com/gaseous-project/gaseous-server.git - Change into the gaseous-server directory
- As the main branch is the development branch, you might want to change to a stable version - these are tagged with a version number. For example to change to the 1.5.0 release, use the command
git checkout v1.5.0- Check the releases page for the version you would like to run: https://github.com/gaseous-project/gaseous-server/releases
- Download the emulator files from
https://cdn.emulatorjs.org/releases/4.0.9.zipand extract the files togaseous-server/wwwroot/emulators/EmulatorJS - Create a directory in the home directory of the user that will run the server. For example, if running as the user
gaseous, create the directory/home/gaseous/.gaseous-server - Change into the
.gaseous-serverdirectory created in the previous step - Copy the JSON from the config file above into a new file named
config.json - Update the database section with the database server hostname, username, password, and port. A full description of the configuration options can be found here: https://github.com/gaseous-project/gaseous-server/wiki/Configuration-File
- Compile the server by changing back to the repo cloned earlier and executing:
dotnet restore "gaseous-server/gaseous-server.csproj"dotnet publish "gaseous-server/gaseous-server.csproj" --use-current-runtime --self-contained false -c Release -o <output directory>- replace
<output directory>with the directory of your choosing. The compiled application will be copied there. For this example we'll use/opt/gaseous-server
- Download the EmulatorJS package from https://cdn.emulatorjs.org/releases/4.0.9.7z and extract the contents to the
/opt/gaseous-server/wwwroot/emulators/EmulatorJSdirectory - The server can then be started by executing
dotnet /opt/gaseous-server/gaseous-server.dll- If you would like the server to run on a different ip address and port (for example 0.0.0.0:8080), add the --urls argument:
dotnet /opt/gaseous-server/gaseous-server.dll --urls http://0.0.0.0:8080
- If you would like the server to run on a different ip address and port (for example 0.0.0.0:8080), add the --urls argument:
- Stop the server
- Switch to the source directory
- Update your repo:
- If running from the main branch, run
git pullto update the repo - If running from another branch or tag, run:
git fetchgit checkout <branch or tag name>
- If running from the main branch, run
- Run steps 12 and 13 from the above Build guide
With thanks to Tom1243 for building this process.
These steps describe a FRESH INSTALL. REMOVE ANY OLD CONTAINERS AND old APPDATA if you had any other attempts.
- Download the
gaseousserver.xmlfile from https://github.com/gaseous-project/unraid-template - In Main -> BootDevice -> config -> plugins -> dockerMan -> templates-user click UPLOAD (at the bottom) then select the gaseousserver.xml file
- In Docker click ADD CONTAINER, select a template, make one of the Gaseous. Click APPLY.
Note: Installation on Windows is currently experimental
- Go to https://mariadb.com/downloads and download the latest Windows installer
- Run the MariaDB installer - take note of the password set for the root user
- Download the MSI from the Releases page
- Run the installer
- After installation a configuration program will run. Use this program to configure the database settings, using the root password set during the MariaDB setup
- Click the "Install Service" button
- Once installed and running, the server will start automatically in the background on Windows startup
- Navigate to http://localhost:5198/
- (Optional) Import DAT files: https://github.com/gaseous-project/gaseous-server/wiki/Signatures
- Start adding ROMs: https://github.com/gaseous-project/gaseous-server/wiki/Adding-ROMs