Updated Installation (markdown)

Michael Green
2024-09-17 22:20:08 +10:00
parent 895c13a516
commit b61bc42c8f

@@ -4,7 +4,7 @@
# Docker
## Deploy with the prebuilt Docker image
## Deploy as separate containers (preferred)
1. Create a new directory on your host named `gaseous`
2. Enter `cd gaseous` to move into the `gaseous` directory
@@ -56,6 +56,46 @@ volumes:
7. Run the command ```docker-compose up -d```
8. Connect to the host on port 5198
## Deploy the all in one container
**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.
1. Create a new directory on your host named `gaseous`
2. Enter `cd gaseous` to move into the `gaseous` directory
3. Enter `nano docker-compose.yml` (or your favourite text editor) to create a new `docker-compose.yml` file
4. Paste the following Docker Compose yaml into the file:
```yaml
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:
```
5. 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
6. Save and close the file
7. Run the command ```docker-compose up -d```
8. Connect to the host on port 5198
# Build and deploy from source
1. Install and configure a MariaDB or MySQL instance - this is beyond the scope of this document
@@ -98,44 +138,6 @@ With thanks to [Tom1243](https://github.com/Tom1243) for building this process.
These steps describe a FRESH INSTALL. REMOVE ANY OLD CONTAINERS AND old APPDATA if you had any other attempts.
1. Copy the following into a file named ``gaseous.xml``
```xml
<?xml version="1.0"?>
<Container version="2">
<Name>gaseous-server</Name>
<Repository>gaseousgames/gaseousserver:latest</Repository>
<Registry>https://hub.docker.com/r/gaseousgames/gaseousserver/</Registry>
<Network>gaseous</Network>
<MyIP/>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://discord.gg/Nhu7wpT3k4</Support>
<Project>https://github.com/gaseous-project/gaseous-server?ref=selfh.st</Project>
<Overview>This is the server for the Gaseous system. It offers ROM and title management, as well as some basic in browser emulation of those ROMs. &#xD;
IMPORTANT!!!!!!&#xD;
You will need to run these on a custom network. Paste "docker network create gaseous" into the terminal. if you change this you will have to edit both the network setting and the post arg setting.</Overview>
<Category>GameServers:</Category>
<WebUI>http://[IP]:[PORT:5198]</WebUI>
<TemplateURL/>
<Icon>https://raw.githubusercontent.com/gaseous-project/gaseous-server/main/logo.png</Icon>
<ExtraParams/>
<PostArgs>;/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name='gsdb' --net='gaseous' -e HOST_CONTAINERNAME="gsdb" -e 'MARIADB_ROOT_PASSWORD'='gaseous' -e 'MARIADB_USER'='gaseous' -e 'MARIADB_PASSWORD'='gaseous' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.icon='https://raw.githubusercontent.com/gaseous-project/gaseous-server/main/logo.png' -v '/mnt/user/appdata/gaseous/database':'/var/lib/mysql':'rw' -v '/etc/localtime':'/etc/localtime':'ro' 'mariadb'</PostArgs>
<CPUset/>
<DateInstalled>1707708636</DateInstalled>
<DonateText/>
<DonateLink/>
<Requires>https://api-docs.igdb.com/#account-creation&#xD;
https://imgur.com/QwtHouv</Requires>
<Config Name="gs" Target="/root/.gaseous-server" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/gaseous/data</Config>
<Config Name="port" Target="80" Default="5198" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">5198</Config>
<Config Name="igdbclientid" Target="igdbclientid" Default="" Mode="" Description="https://imgur.com/uLXxNG8" Type="Variable" Display="always" Required="false" Mask="false">changeme</Config>
<Config Name="igdbclientsecret" Target="igdbclientsecret" Default="" Mode="" Description="https://imgur.com/SZAhptG" Type="Variable" Display="always" Required="false" Mask="false">changeme</Config>
<Config Name="dbhost" Target="dbhost" Default="" Mode="" Description="" Type="Variable" Display="advanced" Required="false" Mask="false">gsdb</Config>
<Config Name="dbuser" Target="dbuser" Default="" Mode="" Description="" Type="Variable" Display="advanced" Required="false" Mask="false">root</Config>
<Config Name="dbpass" Target="dbpass" Default="" Mode="" Description="" Type="Variable" Display="advanced" Required="false" Mask="false">gaseous</Config>
</Container>
```
3. In unraid terminal paste: ``docker network create gaseous``
4. In Main -> BootDevice -> config -> plugins -> dockerMan -> templates-user click UPLOAD (at the bottom) then select the gaseous.xml files
5. In Docker click ADD CONTAINER, select a template, make one of the Gaseous. Click APPLY.
1. Download the `gaseousserver.xml` file from https://github.com/gaseous-project/unraid-template
2. In Main -> BootDevice -> config -> plugins -> dockerMan -> templates-user click UPLOAD (at the bottom) then select the gaseousserver.xml file
3. In Docker click ADD CONTAINER, select a template, make one of the Gaseous. Click APPLY.