h-quer / Slaanesh

Slaanesh Game Tracker
GNU General Public License v3.0
68 stars 6 forks source link


Slaanesh

The self-hosted video game tracker


What is Slaanesh about?

Slaanesh is a game tracker, allowing for keeping track of games played as well as maintaining a wishlist and backlog.

It's a beta release, will it keep my data safe?

Yes, absolutely!

This is why Slaanesh offers a simple export functionality. Even if Slaanesh somehow corrupts its database, as long as you at least occasionally press the csv export button, all your data will be safe in a very easy to read and easily accessible text format. Just make sure that both the database and export directory are part of the 3-2-1 backup system you are using for your server already anyway. If you don't run a 3-2-1 backup system on your server, then you have bigger things to worry about than Slaanesh ;)

With that in mind, this still absolutely is a beta release. Not a "I've been using it for months and just calling it beta" release, but a true beta. Maybe alpha. Expect bugs - and ideally report or even help fix them, please.

Screenshots

playing playing game editor game editor played played add game settings overview overview

Setup and installation

IGDB API token

Slaanesh uses the IGDB API for all game data. For Slaanesh to work, you need to be able to acces the IGDB API. This is how you can register: https://api-docs.igdb.com/#account-creation. You then need to save your client id and client secret in the Slaanesh config file.

Be aware: Client id and secret are (for now) stored in plain text. Doing so for your regular Twitch account (in case you already have one) is obviously a bad idea. In that case, best create a fresh one for dedicated use only as Slaanesh API slave.

Docker setup

Create all necessary directories, adjust config file (IGDB token data! See sample config.ini in this repository) and copy it to the config directory. Also adjust the docker-compose.yml to match your setup.

---
services:
  slaanesh:
    image: ghcr.io/h-quer/slaanesh:latest
    container_name: slaanesh
    user: 1000:1000                          # or any other UID/GID that fit your setup
    restart: unless-stopped
    volumes:
      - your_config_dir:/files/config        # adjust path
      - your_import_dir:/files/import        # adjust path
      - your_export_dir:/files/export        # adjust path
      - your_covers_dir:/files/covers        # adjust path
      - your_database_dir:/files/database    # adjust path
      - your_downloads_dir:/files/downloads  # adjust path
    ports:
      - 8428:8080                            # remove if using reverse proxy and accessing via container name

Once it's set, simply pull and start the image:

docker compose up -d

Slaanesh should now be running on your specified port (8428 by default).

Directories and the config file

Make sure to place the sample config file in the config directory. Slaanesh will not work without a config file containing least the mandatory IGDB info.

Folders to mount are:

Scope and roadmap

Roadmap

Features I am currently slowly but actively working on (pull requests still very welcome for support on these):

Not in scope

Slaanesh does not and will not include:

Feature wishlist

Pull requests to implement these are extremely welcome. I'm not currently working on these, but might after the completing the roadmap:

How to contribute

Bug reports are always useful (if you run into bugs, which of course I hope won't happen ...).

Even better, it'd be absolutely awesome if you could submit a pull request for anything that might need fixing or improving :)