GithubHelp home page GithubHelp logo

mellotanica / skyscraper-docker Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 33 KB

Docker image for Skyscraper by Lars Muldjord

Home Page: https://hub.docker.com/r/mellotanica/skyscraper

License: GNU General Public License v3.0

Dockerfile 16.35% Shell 83.65%

skyscraper-docker's Introduction

skyscraper-docker

Rom scraper docker image, based on the awesome Skyscraper by Lars Muldjord.

Architectures supported by this image are:

  • linux/amd64
  • linux/arm64

Quick Start

Pull latest build from docker hub

docker pull mellotanica/skyscraper

Launch the docker container with the following command:

docker run -d \
    --name=skyscraper
    -v /path/to/roms:/path/to/roms \
    mellotanica/skyscraper Skyscraper -p nes -s screenscraper -u uesr:hash -i /path/to/roms/nes

Automatic rescan

The container provides an automatic scraping utility, refreshing game folders only when the contents change. To use this feature simply run the container (with relevant settings) without specifying a Skyscraper command.

The recommended way to use this feature is through docker-compose:

version: "3"
services:
  skyscraper:
    image: mellotanica/skyscraper:latest
    container_name: skyscraper
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - SKYSCRAPER_FRONTEND=emulationstation
    volumes:
      - /path/to/roms:/path/to/roms
      - ./configs:/configs

Configurations

Volumes

The volumes used by the container are:

  • /roms: root roms folder, containing a directory for each system with the roms inside, if you want to use a different path (e.g. to have correct absolute paths for game files) remember to set SKYSCRAPER_ROMSDIR to this path as well.
  • /configs: configurations folder, the base config.ini will be read from this folder if mounted
  • /cache: automatic volume created by the container that will hold the scraping cache

Options

The behavior of the scraper can be configured using both environment variables or standard Skyscraper config.ini file (or both).

For the config.ini options check the official documentation, to enable this file, create your configurations in a local directory and mount it as a volume as shown before.

The environment variables supported by the container are:

  • PUID: user id used by the container environment to edit files
  • PGID: group id used by the container environment to edit files
  • SKYSCRAPER_FRONTEND: set the output format, see Skyscraper -f flag
  • SKYSCRAPER_MODULES: set the default scraping modules in a comma-separated list (default: thegamesdb)
  • SKYSCRAPER_PLATFORM_MODULES: set the scraping modules to use for each platform, the value of this variable can be set to edit the default modules for specific platforms and is a columns-separated list of entries, each entry has the platform name followed by a semicolumn and a comma separated list of modules, e.g. psx:screenscraper,thegamesdb;mame:arcadedb;fba:arcadedb
  • SKYSCRAPER_ROMS_DIR: roms base path if it is differente from /roms
  • SKYSCRAPER_GAMELIST_DIR: if set, generate gamelists in this path instead of roms directory (watch out to absolute rom paths if mounting /roms volume in the default path). If this is a relative path, it is considered relative to each system roms folder, if it is an absolute path, a folder with the system name will be created inside this path for each processed system
  • SKYSCRAPER_MEDIA_DIR: if set, generate media files in this path instead of default directory (watch out to absolute rom paths if mounting /roms volume in the default path). If this is a relative path, it is considered relative to each system roms folder, if it is an absolute path, a folder with the system name will be created inside this path for each processed system
  • SKYSCRAPER_FLAGS: additional flags passed to commandline invocations (default: uinattend,unattendskip,relative)
  • SKYSCRAPER_NO_RELATIVE_PATHS: if set to true, avoid using relative flag by default
  • SKYSCRAPER_ROMS_TO_SUBDIR: if set to true, keep the roms of a system in the /roms/$system/roms subdir to limit performance issues when mixing gamelists and roms files in a single tree, this implies SKYSCRAPER_GAMELIST_DIR=.
  • SKYSCRAPER_RUN_GLOBAL_UPDATE: if set to true, try to update all systems gamelists, otherwise only systems with new files will be treated

skyscraper-docker's People

Contributors

mellotanica avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.