letsbe-hub-dashboard/src/lib/tools.ts

169 lines
3.9 KiB
TypeScript

import type { ToolInfo } from '@/types'
const domain = process.env.TENANT_DOMAIN || 'example.com'
export const AVAILABLE_TOOLS: Omit<ToolInfo, 'status'>[] = [
{
id: 'nextcloud',
name: 'Nextcloud',
description: 'File sync, sharing, and collaboration platform',
subdomain: 'cloud',
icon: 'Cloud',
category: 'productivity',
url: `https://cloud.${domain}`,
},
{
id: 'keycloak',
name: 'Keycloak',
description: 'Identity and access management (SSO)',
subdomain: 'auth',
icon: 'Shield',
category: 'security',
url: `https://auth.${domain}`,
},
{
id: 'chatwoot',
name: 'Chatwoot',
description: 'Customer engagement and live chat platform',
subdomain: 'chat',
icon: 'MessageSquare',
category: 'communication',
url: `https://chat.${domain}`,
},
{
id: 'poste',
name: 'Poste.io',
description: 'Full-featured email server',
subdomain: 'mail',
icon: 'Mail',
category: 'communication',
url: `https://mail.${domain}`,
},
{
id: 'portainer',
name: 'Portainer',
description: 'Container management dashboard',
subdomain: 'portainer',
icon: 'Container',
category: 'monitoring',
url: `https://portainer.${domain}`,
},
{
id: 'n8n',
name: 'n8n',
description: 'Workflow automation tool',
subdomain: 'n8n',
icon: 'Workflow',
category: 'productivity',
url: `https://n8n.${domain}`,
},
{
id: 'minio',
name: 'MinIO',
description: 'S3-compatible object storage',
subdomain: 'storage',
icon: 'Database',
category: 'storage',
url: `https://storage.${domain}`,
},
{
id: 'umami',
name: 'Umami',
description: 'Privacy-focused web analytics',
subdomain: 'analytics',
icon: 'BarChart3',
category: 'monitoring',
url: `https://analytics.${domain}`,
},
{
id: 'calcom',
name: 'Cal.com',
description: 'Scheduling and appointment booking',
subdomain: 'cal',
icon: 'Calendar',
category: 'productivity',
url: `https://cal.${domain}`,
},
{
id: 'ghost',
name: 'Ghost',
description: 'Publishing and newsletter platform',
subdomain: 'blog',
icon: 'FileText',
category: 'marketing',
url: `https://blog.${domain}`,
},
{
id: 'wordpress',
name: 'WordPress',
description: 'Content management system',
subdomain: 'www',
icon: 'Globe',
category: 'marketing',
url: `https://www.${domain}`,
},
{
id: 'vaultwarden',
name: 'Vaultwarden',
description: 'Password manager (Bitwarden compatible)',
subdomain: 'vault',
icon: 'Lock',
category: 'security',
url: `https://vault.${domain}`,
},
{
id: 'gitea',
name: 'Gitea',
description: 'Self-hosted Git service',
subdomain: 'git',
icon: 'GitBranch',
category: 'development',
url: `https://git.${domain}`,
},
{
id: 'uptime-kuma',
name: 'Uptime Kuma',
description: 'Uptime monitoring tool',
subdomain: 'status',
icon: 'Activity',
category: 'monitoring',
url: `https://status.${domain}`,
},
{
id: 'listmonk',
name: 'Listmonk',
description: 'Newsletter and mailing list manager',
subdomain: 'newsletter',
icon: 'Send',
category: 'marketing',
url: `https://newsletter.${domain}`,
},
{
id: 'nocodb',
name: 'NocoDB',
description: 'Open-source Airtable alternative',
subdomain: 'db',
icon: 'Table',
category: 'productivity',
url: `https://db.${domain}`,
},
{
id: 'glitchtip',
name: 'GlitchTip',
description: 'Error tracking and monitoring',
subdomain: 'errors',
icon: 'AlertTriangle',
category: 'monitoring',
url: `https://errors.${domain}`,
},
{
id: 'penpot',
name: 'Penpot',
description: 'Design and prototyping platform',
subdomain: 'design',
icon: 'Paintbrush',
category: 'productivity',
url: `https://design.${domain}`,
},
]