159 lines
4.4 KiB
TypeScript
159 lines
4.4 KiB
TypeScript
import { type Service, type ServiceCategory } from "../../lib/types";
|
|
|
|
/**
|
|
* Services available in the homelab, organized by category
|
|
*/
|
|
export const services: ServiceCategory = {
|
|
Websites: [
|
|
{
|
|
name: "justin.deal",
|
|
link: "https://justin.deal",
|
|
icon: "/pixel_avatar.png",
|
|
alt: "Personal Website"
|
|
}
|
|
],
|
|
Utilities: [
|
|
{
|
|
name: "Silverbullet",
|
|
link: "https://notes.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/silverbullet.png",
|
|
alt: "Silverbullet",
|
|
tags: ["notes", "markdown", "knowledge base"]
|
|
},
|
|
{
|
|
name: "Vikunja",
|
|
link: "https://todo.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/vikunja.svg",
|
|
alt: "Vikunja",
|
|
tags: ["todo", "tasks", "productivity"]
|
|
},
|
|
{
|
|
name: "Actual",
|
|
link: "https://budget.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/actual-budget.svg",
|
|
alt: "Actual",
|
|
tags: ["finance", "budget", "money"]
|
|
},
|
|
{
|
|
name: "Searxng",
|
|
link: "https://search.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/searxng.svg",
|
|
alt: "Searxng",
|
|
tags: ["search", "privacy", "metasearch"]
|
|
},
|
|
{
|
|
name: "BaiKal",
|
|
link: "https://dav.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/baikal.png",
|
|
alt: "BaiKal",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Cryptpad",
|
|
link: "https://docs.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/cryptpad.svg",
|
|
alt: "Cryptpad",
|
|
tags: []
|
|
}
|
|
],
|
|
Development: [
|
|
{
|
|
name: "Gitea",
|
|
link: "https://code.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea.svg",
|
|
alt: "Gitea",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "OpenGist",
|
|
link: "https://snippets.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/opengist.svg",
|
|
alt: "OpenGist",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "IT-Tools",
|
|
link: "https://tools.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/it-tools.svg",
|
|
alt: "IT-Tools",
|
|
tags: []
|
|
}
|
|
],
|
|
Media: [
|
|
{
|
|
name: "Jellyfin",
|
|
link: "https://watch.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/jellyfin.svg",
|
|
alt: "Jellyfin",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Calibre-Web",
|
|
link: "https://books.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/calibre-web.svg",
|
|
alt: "Calibre-Web",
|
|
tags: []
|
|
}
|
|
],
|
|
Analytics: [
|
|
{
|
|
name: "Uptime Kuma",
|
|
link: "https://status.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/uptime-kuma.svg",
|
|
alt: "Uptime Kuma",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Umami",
|
|
link: "https://analytics.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/umami.svg",
|
|
alt: "Umami",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "TeslaMate",
|
|
link: "https://tesla.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/teslamate.svg",
|
|
alt: "TeslaMate",
|
|
tags: []
|
|
},
|
|
],
|
|
Infrastructure: [
|
|
{
|
|
name: "Pi-hole",
|
|
link: "https://pihole.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/pi-hole.svg",
|
|
alt: "Pi-hole",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Ntfy",
|
|
link: "https://ntfy.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ntfy.svg",
|
|
alt: "Ntfy",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Vaultwarden",
|
|
link: "https://passwords.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/vaultwarden.svg",
|
|
alt: "Vaultwarden",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Authentik",
|
|
link: "https://auth.justin.deal",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/authentik.svg",
|
|
alt: "Authentik",
|
|
tags: []
|
|
},
|
|
{
|
|
name: "Traefik",
|
|
link: "https://proxy.justin.deal:8080",
|
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/traefik.svg",
|
|
alt: "Traefik",
|
|
tags: []
|
|
}
|
|
]
|
|
};
|