cartridge-legacy
cartridge-legacy copied to clipboard
Self-hosted game library.
⚠️ Deprecated
New repository at jamjnsn/cartridge.

A self-hosted game browser.
About
Cartridge is a convenient browser for your game collection with easy file downloads and automatically imported metadata and images. This project is designed to be self-hosted on your local server.
Roadmap
Cartridge is currently in development and not yet ready for use. Here's a rough to-do list for an alpha release:
- ~~Game importer~~
- ~~Game browser & downloads~~
- Game search
- ~~User administration (create, edit, delete)~~
- Manual IGDB match fix
Development
Cartridge currently utilizes Laravel Sail for a convenient dev environment. By default, the app runs on port 80 and HMR runs on port 8080.
Requirements
- PHP 8.1 (Optional)
- Composer (Optional)
- Docker
- Docker Compose
- API key from IGDB
Instructions
- Clone the repository.
git clone https://github.com/jamjnsn/cartridge.git
- Install Composer packages using your local Composer:
OR using a temporary container:composer install
docker run --rm \ -u "$(id -u):$(id -g)" \ -v $(pwd):/var/www/html \ -w /var/www/html \ laravelsail/php81-composer:latest \ composer install --ignore-platform-reqs
- Install Node packages
sail npm i
- Create
.env
file.# Volumes GAMES_PATH=/path/to/roms # IGDB credentials TWITCH_CLIENT_ID=Your Client ID TWITCH_CLIENT_SECRET=Your Client Secret
- Initialize application. (Note: This should be run outside of the container to ensure the storage symlinks are created properly.)
sail artisan cart:init
- Start containers with Sail.
alias sail="bash vendor/bin/sail" # Optional: add alias to your shell profile sail up -d
- Start HMR.
sail npm run watch