diff --git a/apps/pinchflat/config.json b/apps/pinchflat/config.json new file mode 100644 index 00000000..6882734c --- /dev/null +++ b/apps/pinchflat/config.json @@ -0,0 +1,21 @@ +{ + "$schema": "../schema.json", + "name": "Pinchflat", + "port": 8945, + "available": true, + "exposable": true, + "id": "pinchflat", + "tipi_version": 1, + "version": "v0.1.14", + "categories": [ + "media" + ], + "description": "Your next YouTube media manager", + "short_desc": "Your next YouTube media manager", + "author": "Kieran Eglin ", + "source": "https://github.com/kieraneglin/pinchflat", + "form_fields": [], + "supported_architectures": [ + "amd64" + ] +} \ No newline at end of file diff --git a/apps/pinchflat/docker-compose.yml b/apps/pinchflat/docker-compose.yml new file mode 100644 index 00000000..144fb291 --- /dev/null +++ b/apps/pinchflat/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3' + +services: + pinchflat: + image: keglin/pinchflat:v0.1.14 + container_name: pinchflat + restart: unless-stopped + ports: + - ${APP_PORT}:8945 + volumes: + - /etc/localtime:/etc/localtime:ro + - ${APP_DATA_DIR}/data/config:/config + - ${APP_DATA_DIR}/data/downloads:/downloads + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.pinchflat-web-redirect.redirectscheme.scheme: https + traefik.http.services.pinchflat.loadbalancer.server.port: 8945 + # Web + traefik.http.routers.pinchflat-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.pinchflat-insecure.entrypoints: web + traefik.http.routers.pinchflat-insecure.service: pinchflat + traefik.http.routers.pinchflat-insecure.middlewares: pinchflat-web-redirect + # Websecure + traefik.http.routers.pinchflat.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.pinchflat.entrypoints: websecure + traefik.http.routers.pinchflat.service: pinchflat + traefik.http.routers.pinchflat.tls.certresolver: myresolver + # Local domain + traefik.http.routers.pinchflat-local-insecure.rule: Host(`pinchflat.${LOCAL_DOMAIN}`) + traefik.http.routers.pinchflat-local-insecure.entrypoints: web + traefik.http.routers.pinchflat-local-insecure.service: pinchflat + traefik.http.routers.pinchflat-local-insecure.middlewares: pinchflat-web-redirect + # Local domain secure + traefik.http.routers.pinchflat-local.rule: Host(`pinchflat.${LOCAL_DOMAIN}`) + traefik.http.routers.pinchflat-local.entrypoints: websecure + traefik.http.routers.pinchflat-local.service: pinchflat + traefik.http.routers.pinchflat-local.tls: true \ No newline at end of file diff --git a/apps/pinchflat/metadata/description.md b/apps/pinchflat/metadata/description.md new file mode 100644 index 00000000..bc9767c2 --- /dev/null +++ b/apps/pinchflat/metadata/description.md @@ -0,0 +1,5 @@ +# Pinchflat + +Your next YouTube media manager + +Pinchflat is a self-hosted app for downloading YouTube content built using yt-dlp. It's designed to be lightweight, self-contained, and easy to use. You set up rules for how to download content from YouTube channels or playlists and it'll do the rest, checking periodically for new content. It's perfect for people who want to download content for use in with a media center app (Plex, Jellyfin, Kodi) or for those who want to archive media! diff --git a/apps/pinchflat/metadata/logo.png b/apps/pinchflat/metadata/logo.png new file mode 100755 index 00000000..33f7fc1c Binary files /dev/null and b/apps/pinchflat/metadata/logo.png differ