* Add Ryot

* Add Registration Option

* Add Twitch Client ID Info

* Update docker-compose.yml

* Update README.md
This commit is contained in:
DrMxrcy 2023-09-18 10:29:34 -04:00 committed by GitHub
parent 22dba10aba
commit 5883503167
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 140 additions and 0 deletions

View File

@ -120,6 +120,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Readarr](https://github.com/Readarr/Readarr) - Book Manager and Automation (Sonarr for Ebooks)
- [Resilio Sync](https://github.com/bt-sync) - Fast, reliable, and simple file sync and share solution
- [RSS](https://github.com/ssddanbrown/rss) - A simple, opinionated, RSS feed aggregator
- [Ryot](https://github.com/IgnisDa/ryot) - Roll your own tracker!
- [Sabnzbd](https://github.com/sabnzbd/sabnzbd) - Sabnzbd makes Usenet as simple and streamlined as possible by automating everything we can"
- [SearXNG](https://github.com/searxng/searxng) - SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled
- [Send](https://gitlab.com/timvisee/send) - Simple, private file sharing

45
apps/ryot/config.json Normal file
View File

@ -0,0 +1,45 @@
{
"$schema": "../schema.json",
"name": "Ryot",
"port": 8206,
"available": true,
"exposable": true,
"id": "ryot",
"tipi_version": 1,
"version": "v2.17.3",
"categories": ["media"],
"description": "Roll your own tracker!",
"short_desc": "Roll your own tracker!",
"author": "IgnisDa",
"source": "https://github.com/IgnisDa/ryot",
"form_fields": [
{
"type": "random",
"label": "RYOT_DB_PASSWORD",
"min": 32,
"env_variable": "RYOT_DB_PASSWORD"
},
{
"type": "boolean",
"label": "Allow Registration",
"hint": "First user will be admin, Needed for at least one user.",
"required": false,
"default": "true",
"env_variable": "RYOT_ALLOW_REGISTRATION"
},
{
"type": "text",
"label": "Twitch Client ID",
"hint": "For Video Game Tracking, Read Below for more Info!",
"required": false,
"env_variable": "RYOT_VIDEO_GAMES_TWITCH_CLIENT_ID"
},
{
"type": "text",
"label": "Twitch Client Secret",
"hint": "For Video Game Tracking, Read Below for more Info!",
"required": false,
"env_variable": "RYOT_VIDEO_GAMES_TWITCH_CLIENT_SECRET"
}
]
}

View File

@ -0,0 +1,57 @@
version: "3.7"
services:
ryot:
image: ghcr.io/ignisda/ryot:v2.17.3
container_name: ryot
environment:
- DATABASE_URL=postgres://tipi:${RYOT_DB_PASSWORD}@ryot-db:5432/ryot
- SERVER_INSECURE_COOKIE=true
- USERS_ALLOW_REGISTRATION=${RYOT_ALLOW_REGISTRATION}
- VIDEO_GAMES_TWITCH_CLIENT_ID=${RYOT_VIDEO_GAMES_TWITCH_CLIENT_ID}
- VIDEO_GAMES_TWITCH_CLIENT_SECRET= ${VIDEO_GAMES_TWITCH_CLIENT_SECRET}
restart: unless-stopped
ports:
- ${APP_PORT}:8000
depends_on:
- ryot-db
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.ryot-web-redirect.redirectscheme.scheme: https
traefik.http.services.ryot.loadbalancer.server.port: 8000
# Web
traefik.http.routers.ryot-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.ryot-insecure.entrypoints: web
traefik.http.routers.ryot-insecure.service: ryot
traefik.http.routers.ryot-insecure.middlewares: ryot-web-redirect
# Websecure
traefik.http.routers.ryot.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.ryot.entrypoints: websecure
traefik.http.routers.ryot.service: ryot
traefik.http.routers.ryot.tls.certresolver: myresolver
# Local domain
traefik.http.routers.ryot-local-insecure.rule: Host(`ryot.${LOCAL_DOMAIN}`)
traefik.http.routers.ryot-local-insecure.entrypoints: web
traefik.http.routers.ryot-local-insecure.service: ryot
traefik.http.routers.ryot-local-insecure.middlewares: ryot-web-redirect
# Local domain secure
traefik.http.routers.ryot-local.rule: Host(`ryot.${LOCAL_DOMAIN}`)
traefik.http.routers.ryot-local.entrypoints: websecure
traefik.http.routers.ryot-local.service: ryot
traefik.http.routers.ryot-local.tls: true
ryot-db:
container_name: ryot-db
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=tipi
- POSTGRES_PASSWORD=${RYOT_DB_PASSWORD}
- POSTGRES_DB=ryot
volumes:
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
networks:
- tipi_main_network

View File

@ -0,0 +1,37 @@
## Install Info
If you want to setup Video Tracking, you need to set a Twitch Client ID and Secret. Please read the [Ryot Documentation](https://ignisda.github.io/ryot/guides/video-games.html) if you do not know how to get them
# Ryot
### A self hosted platform for tracking various facets of your life - media, fitness etc.
Ryot (**R**oll **Y**our **O**wn **T**racker), pronounced "riot", aims to be the only self hosted tracker you will ever need!
## 💻 Demo
You can use the demo instance hosted on [Fly.io](https://ryot.fly.dev). Login and register with the username `demo` and password `demo-password`. This instance is automatically deployed from the latest release.
**NOTE**: The data in this instance can be deleted randomly.
## 📝 ELI5
Imagine you have a special notebook where you can write down all the media you have consumed, like books you've read, shows you have watched, video games you have played or workouts you have done. Now, imagine that instead of a physical notebook, you have a special tool on your computer or phone that lets you keep track of all these digitally.
## 💡 Why?
- Existing solutions do not have very good UI.
- Pretty graphs and summaries make everyone happy. Ryot aims to have a lot of them.
- There is a lack of a good self-hosted fitness and health tracking solution.
- Ryot consumes very little memory (around 10MB idle eyeballing `docker stats`)
## 🚀 Features
- ✅ [Supports](https://github.com/IgnisDa/ryot/discussions/4) tracking media and fitness
- ✅ Import data from Goodreads, MediaTracker, Trakt, Movary, StoryGraph, MyAnimeList
- ✅ Integration with Jellyfin, Kodi, Plex, Audiobookshelf
- ✅ Self-hosted
- ✅ PWA enabled
- ✅ Documented GraphQL API
- ✅ Easy to understand UI
- ✅ Lightning fast (written in Rust BTW)
- ✅ Free and open-source

BIN
apps/ryot/metadata/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB