feat: add next gba app (#2532)

* feat: add next gba app

* fix(nextgba): fix network name

* chore: make description better

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Stavros 2024-02-22 22:21:57 +02:00 committed by GitHub
parent 9607345fb5
commit 12e2e1efad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 64 additions and 0 deletions

17
apps/nextgba/config.json Normal file
View File

@ -0,0 +1,17 @@
{
"name": "NextGBA",
"available": true,
"port": 8435,
"exposable": true,
"id": "nextgba",
"description": "All of your favorite gameboy games in your browser",
"tipi_version": 1,
"version": "v0.0.3",
"categories": ["gaming"],
"short_desc": "Gameboy in your browser",
"author": "meienberger",
"source": "https://github.com/meienberger/nextgba",
"form_fields": [],
"supported_architectures": ["arm64", "amd64"]
}

View File

@ -0,0 +1,40 @@
version: "3.9"
services:
nextgba:
container_name: nextgba
image: ghcr.io/meienberger/nextgba:v0.0.3
restart: unless-stopped
ports:
- ${APP_PORT}:3000
environment:
- NODE_ENV=production
networks:
- tipi_main_network
volumes:
- ${APP_DATA_DIR}/data/games:/data/games
labels:
# Main
traefik.enable: true
traefik.http.middlewares.nextgba-web-redirect.redirectscheme.scheme: https
traefik.http.services.nextgba.loadbalancer.server.port: 3000
# Web
traefik.http.routers.nextgba-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.nextgba-insecure.entrypoints: web
traefik.http.routers.nextgba-insecure.service: nextgba
traefik.http.routers.nextgba-insecure.middlewares: nextgba-web-redirect
# Websecure
traefik.http.routers.nextgba.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.nextgba.entrypoints: websecure
traefik.http.routers.nextgba.service: nextgba
traefik.http.routers.nextgba.tls.certresolver: myresolver
# Local domain
traefik.http.routers.nextgba-local-insecure.rule: Host(`nextgba.${LOCAL_DOMAIN}`)
traefik.http.routers.nextgba-local-insecure.entrypoints: web
traefik.http.routers.nextgba-local-insecure.service: nextgba
traefik.http.routers.nextgba-local-insecure.middlewares: nextgba-web-redirect
# Local domain secure
traefik.http.routers.nextgba-local.rule: Host(`nextgba.${LOCAL_DOMAIN}`)
traefik.http.routers.nextgba-local.entrypoints: websecure
traefik.http.routers.nextgba-local.service: nextgba
traefik.http.routers.nextgba-local.tls: true

View File

@ -0,0 +1,7 @@
# NextGBA - All you gameboy games in a browser window
> 💡 NextGBA is built with next js, emulator js and shadcn/ui!
Have you ever wanted to play your favorite Gameboy games in a self-hosted web app? A web app that can save the game state and is not complicated to run? NextGBA is your solution! With NextGBA, you can quickly spin it up using a Docker Compose file or through [runtipi](https://github.com/runtipi/runtipi). It features a very simple UI, based on the renowned project [Emulator.js](https://emulatorjs.org/), with all the features you could ever need. This includes support for controllers and game states directly through the UI!
![Preview](https://raw.githubusercontent.com/meienberger/nextgba/main/screenshots/screenshot_main.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 KiB