remove image url in config and add versions

This commit is contained in:
Nicolas Meienberger 2022-08-04 17:34:02 +02:00
parent f328af70bc
commit 05adfd073e
42 changed files with 107 additions and 55 deletions

View File

@ -10,8 +10,8 @@ interface AppConfig {
};
name: string;
description: string;
version: string;
image: string;
version?: string;
tipi_version: number;
short_desc: string;
author: string;
source: string;
@ -24,7 +24,7 @@ const getAppConfigs = (): AppConfig[] => {
const appsDir = fs.readdirSync("./apps");
appsDir.forEach((app) => {
appsDir.forEach((app: string) => {
const path = `./apps/${app}/config.json`;
if (fs.existsSync(path)) {
@ -122,6 +122,15 @@ describe("App configs", () => {
expect(new Set(ids).size).toBe(appConfigs.length);
});
it("Each app should have a version", () => {
const apps = getAppConfigs();
apps.forEach((app) => {
expect(app.tipi_version).toBeDefined();
expect(app.tipi_version).toBeGreaterThan(0);
});
});
it("Each app should have a docker-compose file beside it", () => {
const apps = getAppConfigs();
@ -130,6 +139,22 @@ describe("App configs", () => {
});
});
it("Each app should have a metadata folder beside it", () => {
const apps = getAppConfigs();
apps.forEach((app) => {
expect(fs.existsSync(`./apps/${app.id}/metadata`)).toBe(true);
});
});
it("Each app should have a file named logo.jpg in the metadata folder", () => {
const apps = getAppConfigs();
apps.forEach((app) => {
expect(fs.existsSync(`./apps/${app.id}/metadata/logo.jpg`)).toBe(true);
});
});
it("Each app should have a container name equals to its id", () => {
const apps = getAppConfigs();

View File

@ -1,6 +1,8 @@
{
"name": "Adguard",
"available": true,
"tipi_version": 1,
"version": "0.107.7",
"port": 8104,
"id": "adguard",
"categories": ["network", "security"],
@ -8,7 +10,6 @@
"short_desc": "World's most advanced adblocker!",
"author": "AdguardTeam",
"source": "https://github.com/AdguardTeam",
"image": "/logos/apps/adguard.jpg",
"requirements": {
"ports": [53]
},

View File

@ -1,13 +1,13 @@
{
"name": "Booksonic",
"available": true,
"port": 8040,
"id": "booksonic",
"categories": ["books", "media"],
"description": "",
"short_desc": "The selfhosted audiobook server",
"author": "https://github.com/popeen",
"source": "https://github.com/popeen/Booksonic-Air",
"image": "/logos/apps/booksonic.jpg",
"form_fields": []
}
"name": "Booksonic",
"available": true,
"port": 8040,
"tipi_version": 1,
"id": "booksonic",
"categories": ["books", "media"],
"description": "",
"short_desc": "The selfhosted audiobook server",
"author": "https://github.com/popeen",
"source": "https://github.com/popeen/Booksonic-Air",
"form_fields": []
}

View File

@ -2,12 +2,13 @@
"name": "Calibre-Web - EBook Reader",
"available": true,
"port": 8100,
"tipi_version": 1,
"version": "0.6.18",
"id": "calibre-web",
"categories": ["books"],
"description": "On the initial setup screen, enter /books as your calibre library location. \n Default admin login: Username: admin Password: admin123",
"short_desc": "Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.",
"author": "https://github.com/janeczku/",
"source": "https://github.com/janeczku/calibre-web",
"image": "/logos/apps/calibre-web.jpg",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8101,
"id": "code-server",
"tipi_version": 1,
"version": "4.5.1",
"categories": ["development"],
"description": "",
"short_desc": "Code-server is VS Code running on a remote server, accessible through the browser.",
"author": "https://github.com/coder",
"source": "https://github.com/linuxserver/docker-code-server",
"image": "https://avatars.githubusercontent.com/u/95932066",
"form_fields": [
{
"type": "password",

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8096,
"id": "filebrowser",
"tipi_version": 1,
"version": "s6",
"categories": ["utilities"],
"description": "Reliable and Performant File Management Desktop Sync and File Sharing\n Default credentials: admin / admin",
"short_desc": "Access your homeserver files from your browser",
"author": "filebrowser.org",
"website": "https://filebrowser.org/",
"source": "https://github.com/filebrowser/filebrowser",
"image": "/logos/apps/filebrowser.jpg",
"form_fields": []
}

View File

@ -2,6 +2,7 @@
"name": "Firefly III",
"available": true,
"port": 8115,
"tipi_version": 1,
"id": "firefly-iii",
"categories": ["finance"],
"description": "",
@ -9,7 +10,6 @@
"author": "JC5",
"website": "https://www.firefly-iii.org/",
"source": "https://github.com/firefly-iii/firefly-iii",
"image": "/logos/apps/firefly-iii.jpg",
"form_fields": [
{
"type": "email",

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8086,
"id": "freshrss",
"tipi_version": 1,
"version": "1.19.2",
"categories": ["utilities"],
"description": "FreshRSS is a self-hosted RSS feed aggregator like Leed or Kriss Feed.\nIt is lightweight, easy to work with, powerful, and customizable.\n\nIt is a multi-user application with an anonymous reading mode. It supports custom tags. There is an API for (mobile) clients, and a Command-Line Interface.\n\nThanks to the WebSub standard (formerly PubSubHubbub), FreshRSS is able to receive instant push notifications from compatible sources, such as Mastodon, Friendica, WordPress, Blogger, FeedBurner, etc.\n\nFreshRSS natively supports basic Web scraping, based on XPath, for Web sites not providing any RSS / Atom feed.\n\nFinally, it supports extensions for further tuning.",
"short_desc": "A free, self-hostable aggregator… ",
"author": "https://freshrss.org/",
"source": "https://github.com/FreshRSS/FreshRSS",
"image": "/logos/apps/freshrss.jpg",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"port": 8117,
"available": true,
"id": "ghost",
"tipi_version": 1,
"version": "5.7.0",
"categories": ["social", "media"],
"description": "Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.",
"short_desc": "Ghost - Turn your audience into a business.",
"author": "TryGhost",
"source": "https://github.com/TryGhost/Ghost",
"image": "/logos/apps/ghost.jpg",
"form_fields": [
{
"type": "random",

View File

@ -3,7 +3,7 @@ version: '3.9'
services:
ghost:
image: ghost:alpine
image: ghost:5.7.0
container_name: ghost
depends_on:
- ghostdb

View File

@ -3,11 +3,12 @@
"port": 8108,
"available": true,
"id": "gitea",
"tipi_version": 1,
"version": "1.16.8",
"categories": ["development"],
"description": "Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket, and GitLab. Gitea is a fork of Gogs. See the Gitea Announcement blog post to read about the justification for a fork.",
"short_desc": "Gitea - Git with a cup of tea · A painless self-hosted Git service. · Cross-platform · Easy to install · Lightweight · Open Source.",
"author": "go-gitea",
"source": "https://github.com/go-gitea/gitea",
"image": "/logos/apps/gitea.jpg",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8102,
"id": "homarr",
"tipi_version": 1,
"version": "0.8.0",
"categories": ["utilities"],
"description": "A homepage for your server.",
"short_desc": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.",
"author": "ajnart",
"source": "https://github.com/ajnart/homarr",
"website": "https://discord.gg/C2WTXkzkwK",
"image": "/logos/apps/homarr.jpg",
"form_fields": []
}

View File

@ -2,12 +2,12 @@
"name": "Home Assistant",
"available": true,
"port": 8123,
"tipi_version": 1,
"id": "homeassistant",
"categories": ["automation"],
"description": "Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.",
"short_desc": "Open source home automation that puts local control and privacy first",
"author": "ArneNaessens",
"source": "https://github.com/home-assistant/core",
"image": "/logos/apps/homeassistant.jpg",
"form_fields": []
}

View File

@ -3,11 +3,11 @@
"available": true,
"port": 8095,
"id": "invidious",
"tipi_version": 1,
"categories": ["media", "social"],
"description": "Invidious is an open source alternative front-end to YouTube.",
"short_desc": "An alternative front-end to YouTube",
"author": "iv-org",
"source": "https://github.com/iv-org/invidious",
"image": "https://raw.githubusercontent.com/iv-org/invidious/master/assets/invidious-colored-vector.svg",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8097,
"id": "jackett",
"tipi_version": 1,
"version": "0.20.1342",
"description": "Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr, SickRage, CouchPotato, Mylar3, Lidarr, DuckieTV, qBittorrent, Nefarious etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches.",
"short_desc": "API Support for your favorite torrent trackers ",
"categories": ["media", "utilities"],
"author": "",
"source": "https://github.com/Jackett/Jackett",
"image": "/logos/apps/jackett.jpg",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8091,
"id": "jellyfin",
"tipi_version": 1,
"version": "10.8.1",
"categories": ["media"],
"description": "Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!",
"short_desc": "A media server for your home collection",
"author": "jellyfin.org",
"source": "https://github.com/jellyfin/jellyfin",
"image": "https://avatars.githubusercontent.com/u/45698031?s=200&v=4",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8099,
"id": "joplin",
"tipi_version": 1,
"version": "2.7.4",
"categories": ["utilities"],
"description": "Default credentials: admin@localhost / admin",
"short_desc": "Note taking and to-do application with synchronisation",
"author": "https://github.com/laurent22",
"source": "https://github.com/laurent22/joplin",
"website": "https://joplinapp.org",
"image": "/logos/apps/joplin.jpg",
"form_fields": []
}

View File

@ -3,11 +3,11 @@
"available": true,
"port": 8105,
"id": "libreddit",
"tipi_version": 1,
"categories": ["social"],
"description": "LibReddit is a bloat free reddit frontend written in Rust, no ads, no tracking and strong Content Security Policy prevents any request from going to reddit, everything is proxied.",
"short_desc": "Browse reddit without problems!",
"author": "spikecodes",
"source": "https://github.com/spikecodes/libreddit",
"image": "/logos/apps/libreddit.jpg",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"port": 8114,
"available": true,
"id": "mealie",
"tipi_version": 1,
"version": "v0.5.6",
"description": "Mealie is a self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and Mealie will automatically import the relevant data or add a family recipe with the UI editor. Mealie also provides an API for interactions from 3rd party applications. Default username / password is changeme@email.com / MyPassword",
"short_desc": "Mealie is a self-hosted recipe manager and meal planner.",
"author": "hay-kot",
"categories": [],
"source": "https://github.com/hay-kot/mealie",
"image": "https://raw.githubusercontent.com/hay-kot/mealie/mealie-next/frontend/static/icons/android-chrome-512x512.png",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8094,
"id": "n8n",
"tipi_version": 1,
"version": "0.186.1",
"categories": ["automation"],
"description": "n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.",
"short_desc": "Workflow Automation Tool. Alternative to Zapier",
"author": "n8n.io",
"source": "https://github.com/n8n-io/n8n",
"website": "https://n8n.io/",
"image": "/logos/apps/n8n.jpg",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8083,
"id": "nextcloud",
"tipi_version": 1,
"version": "24.0.3",
"categories": ["data"],
"description": "Nextcloud is a self-hosted, open source, and fully-featured cloud storage solution for your personal files, office documents, and photos.",
"short_desc": "Productivity platform that keeps you in control",
"author": "Nextcloud GmbH",
"source": "https://github.com/nextcloud/server",
"image": "https://avatars.githubusercontent.com/u/19211038?s=200&v=4",
"form_fields": [
{
"type": "text",

View File

@ -3,11 +3,11 @@
"available": true,
"port": 8106,
"id": "nitter",
"tipi_version": 1,
"categories": ["social"],
"description": "A free and open source alternative Twitter front-end focused on privacy and performance.",
"short_desc": "Twitter without annoyances!",
"author": "zedeus",
"source": "https://github.com/zedeus/nitter",
"image": "/logos/apps/nitter.jpg",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"port": 8111,
"available": true,
"id": "nodered",
"tipi_version": 1,
"version": "3.0.0",
"categories": ["automation"],
"description": "Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.",
"short_desc": "Low-code programming for event-driven applications",
"author": "node-red",
"source": "https://github.com/node-red/node-red",
"image": "https://avatars.githubusercontent.com/u/5375661?s=200&v=4",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8116,
"id": "overseerr",
"tipi_version": 1,
"version": "1.29.0",
"categories": ["media", "utilities"],
"description": "Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services, such as Sonarr, Radarr, and Plex!",
"short_desc": "Request management and media discovery tool for the Plex ecosystem",
"author": "sct",
"source": "https://github.com/sct/overseerr",
"image": "/logos/apps/overseerr.jpg",
"form_fields": []
}

View File

@ -2,7 +2,7 @@ version: "3"
services:
overseerr:
container_name: overseerr
image: sctx/overseerr:latest
image: sctx/overseerr:1.29.0
environment:
- TZ=${TZ}
volumes:

View File

@ -3,12 +3,12 @@
"port": 8110,
"available": true,
"id": "photoprism",
"tipi_version": 1,
"categories": ["photography"],
"description": "PhotoPrism® is an AI-Powered Photos App for the Decentralized Web. It makes use of the latest technologies to tag and find pictures automatically without getting in your way. You can run it at home, on a private server, or in the cloud. Default username: admin",
"short_desc": "AI-Powered Photos App for the Decentralized Web. We are on a mission to protect your freedom and privacy.",
"author": "PhotoPrism",
"source": "https://github.com/photoprism/photoprism",
"image": "/logos/apps/photoprism.jpg",
"form_fields": [
{
"type": "password",

View File

@ -6,12 +6,13 @@
"ports": [53]
},
"id": "pihole",
"tipi_version": 1,
"version": "2022.07.1",
"categories": ["network", "security"],
"description": "The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content without installing any client-side software.",
"short_desc": "A black hole for Internet advertisements",
"author": "pi-hole.net",
"source": "https://github.com/pi-hole/pi-hole",
"image": "/logos/apps/pihole.jpg",
"form_fields": [
{
"type": "password",

View File

@ -3,12 +3,13 @@
"available": true,
"port": 32400,
"id": "plex",
"tipi_version": 1,
"version": "1.27.2",
"url_suffix": "/web",
"categories": ["media"],
"description": "",
"short_desc": "Stream Movies & TV Shows",
"author": "plexinc",
"source": "https://github.com/plexinc/pms-docker",
"image": "/logos/apps/plex.png",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"port": 9443,
"available": true,
"id": "portainer",
"tipi_version": 1,
"version": "2.14.2",
"categories": ["utilities"],
"description": "",
"short_desc": "Making Docker and Kubernetes management easy.",
"author": "portainer.io",
"source": "https://github.com/portainer/portainer",
"image": "/logos/apps/portainer.jpg",
"form_fields": []
}

View File

@ -2,7 +2,7 @@ version: "3.9"
services:
portainer:
image: portainer/portainer-ce:latest
image: portainer/portainer-ce:2.14.2-alpine
container_name: portainer
restart: unless-stopped
ports:

View File

@ -3,11 +3,11 @@
"available": true,
"port": 8109,
"id": "prowlarr",
"tipi_version": 1,
"categories": ["media", "utilities"],
"description": "Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).",
"short_desc": "A torrent/usenet indexer manager/proxy",
"author": "Prowlarr",
"source": "https://github.com/Prowlarr/Prowlarr/",
"image": "/logos/apps/prowlarr.jpg",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8088,
"id": "radarr",
"tipi_version": 1,
"version": "4.1.0",
"categories": ["media", "utilities"],
"description": "Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. Note that only one type of a given movie is supported. If you want both an 4k version and 1080p version of a given movie you will need multiple instances.",
"short_desc": "Movie collection manager for Usenet and BitTorrent users.",
"author": "radarr.video",
"source": "https://github.com/Radarr/Radarr",
"image": "/logos/apps/radarr.jpg",
"form_fields": []
}

View File

@ -3,11 +3,11 @@
"available": true,
"port": 8112,
"id": "readarr",
"tipi_version": 1,
"categories": ["books", "media"],
"description": "",
"short_desc": "Book Manager and Automation (Sonarr for Ebooks)",
"author": "readarr.com",
"source": "https://github.com/Readarr/Readarr",
"image": "/logos/apps/readarr.jpg",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"port": 8113,
"available": true,
"id": "resilio-sync",
"tipi_version": 1,
"version": "2.7.3",
"categories": ["data", "utilities"],
"description": "",
"short_desc": "Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology",
"author": "Resilio, Inc.",
"source": "https://github.com/bt-sync",
"image": "/logos/apps/resilio-sync.png",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8098,
"id": "sonarr",
"tipi_version": 1,
"version": "3.0.8",
"categories": ["media", "utilities"],
"description": "Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.",
"short_desc": "TV show manager for Usenet and BitTorrent",
"author": "sonarr.tv",
"source": "https://github.com/Sonarr/Sonarr",
"image": "/logos/apps/sonarr.jpg",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8090,
"id": "syncthing",
"tipi_version": 1,
"version": "1.20",
"categories": ["data", "utilities"],
"description": "Syncthing is a peer-to-peer continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.\n\nInstall the Syncthing app on your Umbrel and pair it with the Syncthing app on your phone or computer for a self hosted peer-to-peer backup solution.",
"short_desc": "Peer-to-peer file synchronization between your devices",
"author": "The Syncthing Foundation",
"source": "https://github.com/syncthing",
"website": "https://syncthing.net",
"image": "/logos/apps/syncthing.jpg",
"form_fields": []
}

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8093,
"id": "tailscale",
"tipi_version": 1,
"version": "v1.29.10",
"categories": ["network", "security"],
"description": "Zero config VPN. Installs on any device in minutes, manages firewall rules for you, and works from anywhere.",
"short_desc": "The easiest, most secure way to use WireGuard and 2FA.",
"author": "© Tailscale Inc.",
"source": "https://github.com/tailscale/tailscale",
"website": "https://tailscale.com/",
"image": "https://avatars.githubusercontent.com/u/48932923?s=200&v=4",
"form_fields": []
}

View File

@ -3,11 +3,12 @@
"available": true,
"port": 8181,
"id": "tautulli",
"tipi_version": 1,
"version": "2.10.2",
"categories": ["media", "utilities"],
"description": "Tautulli is a 3rd party application that you can run alongside your Plex Media Server to monitor activity and track various statistics. Most importantly, these statistics include what has been watched, who watched it, when and where they watched it, and how it was watched. The only thing missing is \"why they watched it\", but who am I to question your 42 plays of Frozen. All statistics are presented in a nice and clean interface with many tables and graphs, which makes it easy to brag about your server to everyone else.",
"short_desc": "Monitoring and tracking tool for Plex Media Server.",
"author": "JonnyWong16",
"source": "https://github.com/Tautulli/Tautulli",
"image": "/logos/apps/tautulli.jpg",
"form_fields": []
}

View File

@ -6,12 +6,12 @@
"ports": [51413]
},
"id": "transmission",
"tipi_version": 1,
"categories": ["utilities"],
"description": "Transmission is a fast, easy, and free BitTorrent client.",
"short_desc": "Fast, easy, and free BitTorrent client",
"author": "Transmission Project",
"source": "https://github.com/transmission/transmission",
"image": "https://avatars.githubusercontent.com/u/223312?s=200&v=4",
"form_fields": [
{
"type": "text",

View File

@ -3,12 +3,13 @@
"available": true,
"port": 8107,
"id": "vaultwarden",
"tipi_version": 1,
"version": "1.25.1",
"categories": ["utilities"],
"description": "Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream Bitwarden clients, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.",
"short_desc": "All your passwords in your control!",
"author": "Daniel García",
"source": "https://github.com/dani-garcia/vaultwarden",
"image": "/logos/apps/vaultwarden.jpg",
"form_fields": [
{
"type": "password",

View File

@ -6,12 +6,13 @@
"ports": [51820]
},
"id": "wg-easy",
"tipi_version": 1,
"version": "7",
"categories": ["network"],
"description": "Access your homeserver from anywhere even on your mobile device. Wireguard-easy is a simple tool to configure and manage Wireguard VPN servers. It is written in Go and uses the official Wireguard client. You have to open and redirect port 51820 to your homeserver in order to connect.",
"short_desc": "VPN server for your homeserver",
"author": "WeeJeWel",
"source": "https://github.com/WeeJeWel/wg-easy/",
"image": "/logos/apps/wireguard.jpg",
"form_fields": [
{
"type": "fqdnip",

View File

@ -3,12 +3,12 @@
"available": true,
"port": 8103,
"id": "your-spotify",
"tipi_version": 1,
"categories": ["music", "utilities"],
"description": "Self hosted Spotify tracking dashboard.",
"short_desc": "Self hosted Spotify tracking dashboard.",
"author": "Yooooomi",
"source": "https://github.com/Yooooomi/your_spotify",
"image": "/logos/apps/your-spotify.jpg",
"form_fields": [
{
"type": "text",