Files
Dashboard/src/config/apps.ts
T
Syco 48d6584b7d
ci/woodpecker/push/woodpecker Pipeline was successful
Add Apps page with local icons, favicon, and React Router navigation
- Move app links to dedicated /apps page with grouped icon tiles
- Download all icons locally to public/icons/ (no CDN dependency)
- Add favicon and replace header logo-mark with custom icon
- Fix icon names: synology, termix, docsight-light, dbgate (png)
- Add nav tabs in header for Dashboard/Apps routing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 20:12:13 +02:00

73 lines
3.8 KiB
TypeScript

const ICONS = '/icons'
export interface AppLink {
name: string
url: string
icon: string
}
export interface AppGroup {
name: string
apps: AppLink[]
}
export const appGroups: AppGroup[] = [
{
name: 'Infrastructure',
apps: [
{ name: 'Proxmox', url: 'https://proxmox.syco.me', icon: `${ICONS}/proxmox.svg` },
{ name: 'Synology NAS', url: 'https://nas.syco.me', icon: `${ICONS}/synology.svg` },
{ name: 'AdGuard Home', url: 'https://adguard.syco.me', icon: `${ICONS}/adguard-home.svg` },
{ name: 'Headscale', url: 'https://headscale.syco.me/admin', icon: `${ICONS}/headscale.svg` },
{ name: 'FritzBox', url: 'http://fritz.box', icon: `${ICONS}/Fritz!_Logo.svg.png` },
{ name: 'Portainer', url: 'https://portainer.syco.me', icon: `${ICONS}/portainer.svg` },
{ name: 'CrowdSec', url: 'https://crowdsec.syco.me', icon: `${ICONS}/crowdsec.svg` },
],
},
{
name: 'Auth & Access',
apps: [
{ name: 'Authentik', url: 'https://auth.syco.me', icon: `${ICONS}/authentik.svg` },
{ name: 'Vaultwarden', url: 'https://vaultwarden.syco.me', icon: `${ICONS}/vaultwarden.svg` },
{ name: 'Termix', url: 'https://termix.syco.me', icon: `${ICONS}/termix.svg` },
],
},
{
name: 'Media',
apps: [
{ name: 'Jellyfin', url: 'https://jellyfin.syco.me', icon: `${ICONS}/jellyfin.svg` },
{ name: 'Navidrome', url: 'https://music.syco.me', icon: `${ICONS}/navidrome.svg` },
{ name: 'Overseerr', url: 'https://overseerr.syco.me', icon: `${ICONS}/overseerr.svg` },
{ name: 'Radarr', url: 'https://radarr.syco.me', icon: `${ICONS}/radarr.svg` },
{ name: 'Sonarr', url: 'https://sonarr.syco.me', icon: `${ICONS}/sonarr.svg` },
{ name: 'Lidarr', url: 'https://lidarr.syco.me', icon: `${ICONS}/lidarr.svg` },
{ name: 'Prowlarr', url: 'https://prowlarr.syco.me', icon: `${ICONS}/prowlarr.svg` },
{ name: 'Bazarr', url: 'https://bazarr.syco.me', icon: `${ICONS}/bazarr.svg` },
{ name: 'qBittorrent', url: 'https://bittorrent.syco.me', icon: `${ICONS}/qbittorrent.svg` },
{ name: 'RomM', url: 'https://romm.syco.me', icon: `${ICONS}/romm.svg` },
{ name: 'Shoko', url: 'http://shoko.internal', icon: `${ICONS}/shoko-server.svg` },
],
},
{
name: 'Monitoring',
apps: [
{ name: 'Grafana', url: 'https://grafana.syco.me', icon: `${ICONS}/grafana.svg` },
{ name: 'Uptime Kuma', url: 'https://uptime.syco.me', icon: `${ICONS}/uptime-kuma.svg` },
{ name: 'Update Dashboard', url: 'https://update-dashboard.syco.me', icon: `${ICONS}/linux-update-dashboard.svg` },
],
},
{
name: 'Dev & Tools',
apps: [
{ name: 'Gitea', url: 'https://git.syco.me', icon: `${ICONS}/gitea.svg` },
{ name: 'Woodpecker', url: 'https://woodpecker.syco.me', icon: `${ICONS}/woodpecker-ci.svg` },
{ name: 'DbGate', url: 'https://dbgate.syco.me', icon: `${ICONS}/dbgate.png` },
{ name: 'IT-Tools', url: 'https://it-tools.syco.me', icon: `${ICONS}/it-tools.svg` },
{ name: 'Docsight', url: 'http://docsight.internal', icon: `${ICONS}/docsight-light.svg` },
{ name: 'Firefly III', url: 'https://firefly.syco.me', icon: `${ICONS}/firefly-iii.svg` },
{ name: 'Copyparty', url: 'https://copyparty.syco.me', icon: `${ICONS}/copyparty.svg` },
{ name: 'Yu-Gi-Oh', url: 'https://yugioh.syco.me', icon: `${ICONS}/yugiohCard.jpg` },
],
},
]