New repository at jamjnsn/cartridge.
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.
Cartridge is currently in development and not yet ready for use. Here's a rough to-do list for an alpha release:
Game importerGame browser & downloads- Game search
User administration (create, edit, delete)- Manual IGDB match fix
Cartridge currently utilizes Laravel Sail for a convenient dev environment. By default, the app runs on port 80 and HMR runs on port 8080.
- PHP 8.1 (Optional)
- Composer (Optional)
- Docker
- Docker Compose
- API key from IGDB
- 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