rommapp / romm

A beautiful, powerful, self-hosted rom manager
https://romm.app
GNU Affero General Public License v3.0
2.57k stars 105 forks source link

[Bug] unable to download or play any roms, get a ERR_INVALID_RESPONSE on downloads and Network Error on play #1199

Closed Betonhaus closed 2 months ago

Betonhaus commented 2 months ago

RomM version docker romm/latest

 romm:
    image: rommapp/romm:latest
    container_name: romm
    restart: unless-stopped
    environment:
      - DB_HOST=romm-db
      - DB_NAME=romm
      - DB_USER=romm-user
      - DB_PASSWD=redacted
      - ROMM_AUTH_SECRET_KEY=redacted
      - IGDB_CLIENT_ID=redacted
      - IGDB_CLIENT_SECRET=redacted
      - STEAMGRIDDB_API_KEY=redacted
    volumes:
      - /mnt/docker/romm/resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.)
      - /home/docker/romm/redis_data:/redis-data # Cached data for background tasks
      - /data/games:/romm/library # Your game library
      - /home/docker/romm/assets:/romm/assets # Uploaded saves, states, etc.
      - /mnt/docker/romm/config:/romm/config # Path where config.yml is stored
    ports:
      - 89:8080
    depends_on:
      - romm-db
    networks:
      - servarr_default

  romm-db:
    image: mariadb:latest # if you experience issues, try: linuxserver/mariadb:latest
    container_name: romm-db
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=grkfromm
      - MYSQL_DATABASE=romm
      - MYSQL_USER=romm-user
      - MYSQL_PASSWORD=redacted
    volumes:
      - /mnt/docker/romm/db:/var/lib/mysql
    networks:
      - servarr_default

  nginx-proxy-manager:
    container_name: npm
    image: 'jc21/nginx-proxy-manager:latest'
    restart: 'always'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - /mnt/docker/nginx-proxy-manager:/data
      - /etc/letsencrypt:/etc/letsencrypt
    networks:
      - servarr_default

image image image

contents of /data/games/roms: https://termbin.com/zfss

Describe the bug A clear and concise description of what the bug is. attempting to download or play any roms or files causes an error, even when access directly by IP address Screenshot from 2024-09-20 11-34-51 image

Betonhaus commented 2 months ago

edit: I tried to test a rom that was uploaded using the interface and had the same issue. and the next time I used RomM it appears to have wiped itself with no games found and all users erased with the current session being viewer only.

So I will be closing this as cannot reproduce and revisit this project at a later date

gantoine commented 2 months ago

it appears to have wiped itself with no games found and all users erased with the current session being viewer only

daaaaang what did you do? it's possible there's an error in the server that's stopping the UI from loading, you can post the logs when trying to load romm here and we can have a look.

Betonhaus commented 2 months ago

it appears to have wiped itself with no games found and all users erased with the current session being viewer only

daaaaang what did you do? it's possible there's an error in the server that's stopping the UI from loading, you can post the logs when trying to load romm here and we can have a look.

Literally all I did before it wiped itself was upload a single rom

And now if I stop and remove the containers, delete all romm data folders, and pull new images, it continues to stay bricked. So I'll revisit it later.

Betonhaus commented 2 months ago

Does the RomM docker support user group and umask variables?

gantoine commented 2 months ago

Sorta, you can set user: XXXX:XXXX in your docker-compose and i'll use it for folder permissions

Betonhaus commented 2 months ago

i had to forcefully delete cookies, but I think i got a config that works:

 romm:
    image: rommapp/romm:latest
    container_name: romm
    restart: unless-stopped
    user: 1001:1002 # (the same user and group that I use for all other media in the storage pool)
    environment:
      - DB_HOST=romm-db
      - DB_NAME=romm
      - DB_USER=romm-user
      - DB_PASSWD=redacted
      - ROMM_AUTH_SECRET_KEY=redacted
      - IGDB_CLIENT_ID=redacted
      - IGDB_CLIENT_SECRET=redacted
      - STEAMGRIDDB_API_KEY=redacted
      - TZ=Etc/UTC
      - PUID=1001
      - PGID=1002
      - UMASK=002
    volumes:
      - /mnt/docker/romm/resources:/romm/resources # Resources fetched from IGDB (covers, screenshots, etc.)
      - /home/docker/romm/redis_data:/redis-data # Cached data for background tasks
      - /data/games:/romm/library # Your game library
      - /home/docker/romm/assets:/romm/assets # Uploaded saves, states, etc.
      - /mnt/docker/romm/config:/romm/config # Path where config.yml is stored
    ports:
      - 89:8080
      -     depends_on:
      - romm-db
    networks:
      - servarr_default

  romm-db:
    image: linuxserver/mariadb:latest
    container_name: romm-db
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=redacted
      - MYSQL_DATABASE=romm
      - MYSQL_USER=romm-user
      - MYSQL_PASSWORD=redacted
    volumes:
      - romm_data:/var/lib/mysql
    networks:
      - servarr_default

volumes:
  romm_data:

so it seems that setting a user for romm works, but if you set a user for mariadb then it breaks hard. I'd like i if the database was eventually added to the main romm container

the reason why i user /mnt/docker and /home/docker is that / is on a 256gb M.2 ssd that's pretty fast, and /home is on a 1tb sata ssd that get's bogged down when other activities are going on. /data is a mergerfs pool of several hard drives for a total of 20ish terabytes i don't know how much space all of the romm assets use but i suppose i could move it all to /mnt/docker if it's not too bad

if it doesn't use much, then /romm/resources, /redis-data, /romm/assets, and /romm/config could all have hardlinks inside a /config folder, so instead of four volumes needed you just need one for /config