chore(www): update website content, fix build, add Helm/Nix install methods

- Update softwareVersion from 3.9.2 to 3.11.0
- Add Helm and Nix installation tabs to Getting Started section
- Fix Helm instructions to use local chart path (no published repo)
- Update Features section: add Metadata Preservation, Force-Push Protection, Git LFS Support
- Remove unused @radix-ui/react-icons import from Hero.tsx and dependency from package.json
- Update structured data featureList with newer capabilities
This commit is contained in:
Arunavo Ray
2026-03-02 16:23:32 +05:30
parent 98da7065e0
commit 534150ecf9
6 changed files with 70 additions and 39 deletions

View File

@@ -11,7 +11,6 @@
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.3.13", "@astrojs/mdx": "^4.3.13",
"@astrojs/react": "^4.4.2", "@astrojs/react": "^4.4.2",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-slot": "^1.2.4",
"@splinetool/react-spline": "^4.1.0", "@splinetool/react-spline": "^4.1.0",
"@splinetool/runtime": "^1.12.60", "@splinetool/runtime": "^1.12.60",

12
www/pnpm-lock.yaml generated
View File

@@ -14,9 +14,6 @@ importers:
'@astrojs/react': '@astrojs/react':
specifier: ^4.4.2 specifier: ^4.4.2
version: 4.4.2(@types/node@24.7.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(jiti@2.6.1)(lightningcss@1.31.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) version: 4.4.2(@types/node@24.7.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(jiti@2.6.1)(lightningcss@1.31.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@radix-ui/react-icons':
specifier: ^1.3.2
version: 1.3.2(react@19.2.4)
'@radix-ui/react-slot': '@radix-ui/react-slot':
specifier: ^1.2.4 specifier: ^1.2.4
version: 1.2.4(@types/react@19.2.14)(react@19.2.4) version: 1.2.4(@types/react@19.2.14)(react@19.2.4)
@@ -674,11 +671,6 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
'@radix-ui/react-icons@1.3.2':
resolution: {integrity: sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==}
peerDependencies:
react: ^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc
'@radix-ui/react-slot@1.2.4': '@radix-ui/react-slot@1.2.4':
resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==} resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==}
peerDependencies: peerDependencies:
@@ -2828,10 +2820,6 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/react': 19.2.14 '@types/react': 19.2.14
'@radix-ui/react-icons@1.3.2(react@19.2.4)':
dependencies:
react: 19.2.4
'@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.2.4)': '@radix-ui/react-slot@1.2.4(@types/react@19.2.14)(react@19.2.4)':
dependencies: dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4) '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.4)

View File

@@ -1,11 +1,11 @@
--- ---
import { import {
RefreshCw, RefreshCw,
Building2, FileText,
FolderTree, ShieldCheck,
Activity, Activity,
Lock, Lock,
Heart, HardDrive,
} from 'lucide-react'; } from 'lucide-react';
const features = [ const features = [
@@ -17,37 +17,37 @@ const features = [
iconColor: "text-primary" iconColor: "text-primary"
}, },
{ {
title: "Bulk Operations", title: "Metadata Preservation",
description: "Mirror entire organizations or user accounts with a single configuration.", description: "Mirror issues, pull requests, releases, labels, milestones, and wiki pages alongside your code.",
icon: Building2, icon: FileText,
gradient: "from-accent/10 to-accent-teal/10", gradient: "from-accent/10 to-accent-teal/10",
iconColor: "text-accent" iconColor: "text-accent"
}, },
{ {
title: "Preserve Structure", title: "Force-Push Protection",
description: "Maintain your GitHub organization structure or customize how repos are organized.", description: "Detect upstream force-pushes and automatically snapshot repos before destructive changes.",
icon: FolderTree, icon: ShieldCheck,
gradient: "from-accent-teal/10 to-primary/10", gradient: "from-accent-teal/10 to-primary/10",
iconColor: "text-accent-teal" iconColor: "text-accent-teal"
}, },
{ {
title: "Real-time Status", title: "Real-time Dashboard",
description: "Monitor mirror progress with live updates and detailed activity logs.", description: "Monitor mirror progress with live updates, activity logs, and per-repo status tracking.",
icon: Activity, icon: Activity,
gradient: "from-accent-coral/10 to-primary/10", gradient: "from-accent-coral/10 to-primary/10",
iconColor: "text-accent-coral" iconColor: "text-accent-coral"
}, },
{ {
title: "Secure & Private", title: "Secure & Self-Hosted",
description: "Self-hosted solution keeps your code on your infrastructure with full control.", description: "Tokens encrypted at rest with AES-256-GCM. Your code stays on your infrastructure.",
icon: Lock, icon: Lock,
gradient: "from-accent-purple/10 to-primary/10", gradient: "from-accent-purple/10 to-primary/10",
iconColor: "text-accent-purple" iconColor: "text-accent-purple"
}, },
{ {
title: "Open Source", title: "Git LFS Support",
description: "Free, transparent, and community-driven development. Contribute and customize.", description: "Mirror large files and binary assets alongside your repositories with full LFS support.",
icon: Heart, icon: HardDrive,
gradient: "from-primary/10 to-accent-purple/10", gradient: "from-primary/10 to-accent-purple/10",
iconColor: "text-primary" iconColor: "text-primary"
} }

View File

@@ -1,6 +1,5 @@
import { Button } from "./ui/button"; import { Button } from "./ui/button";
import { ArrowRight, Shield, RefreshCw, HardDrive } from "lucide-react"; import { ArrowRight, Shield, RefreshCw, HardDrive } from "lucide-react";
import { GitHubLogoIcon } from "@radix-ui/react-icons";
import React, { Suspense } from 'react'; import React, { Suspense } from 'react';
const Spline = React.lazy(() => import('@splinetool/react-spline')); const Spline = React.lazy(() => import('@splinetool/react-spline'));

View File

@@ -1,8 +1,8 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import { Button } from './ui/button'; import { Button } from './ui/button';
import { Copy, Check, Terminal, Container, Cloud } from 'lucide-react'; import { Copy, Check, Terminal, Container, Cloud, Ship, Snowflake } from 'lucide-react';
type InstallMethod = 'docker' | 'manual' | 'proxmox'; type InstallMethod = 'docker' | 'helm' | 'nix' | 'manual' | 'proxmox';
export function Installation() { export function Installation() {
const [activeMethod, setActiveMethod] = useState<InstallMethod>('docker'); const [activeMethod, setActiveMethod] = useState<InstallMethod>('docker');
@@ -37,6 +37,50 @@ export function Installation() {
} }
] ]
}, },
helm: {
icon: Ship,
title: "Helm",
description: "Deploy to Kubernetes",
steps: [
{
title: "Clone the repository",
command: "git clone https://github.com/RayLabsHQ/gitea-mirror.git && cd gitea-mirror",
id: "helm-clone"
},
{
title: "Install the chart",
command: "helm upgrade --install gitea-mirror ./helm/gitea-mirror \\\n --namespace gitea-mirror --create-namespace",
id: "helm-install"
},
{
title: "Access the application",
command: "kubectl port-forward svc/gitea-mirror 4321:4321 -n gitea-mirror",
id: "helm-access"
}
]
},
nix: {
icon: Snowflake,
title: "Nix",
description: "Zero-config with Nix flakes",
steps: [
{
title: "Run directly with Nix",
command: "nix run github:RayLabsHQ/gitea-mirror",
id: "nix-run"
},
{
title: "Or install to your profile",
command: "nix profile install github:RayLabsHQ/gitea-mirror",
id: "nix-install"
},
{
title: "Access the application",
command: "# Open http://localhost:4321 in your browser",
id: "nix-access"
}
]
},
manual: { manual: {
icon: Terminal, icon: Terminal,
title: "Manual", title: "Manual",

View File

@@ -39,7 +39,7 @@ const structuredData = {
name: "RayLabs", name: "RayLabs",
url: "https://github.com/RayLabsHQ", url: "https://github.com/RayLabsHQ",
}, },
softwareVersion: "3.9.2", softwareVersion: "3.11.0",
screenshot: [ screenshot: [
`${siteUrl}/assets/dashboard.png`, `${siteUrl}/assets/dashboard.png`,
`${siteUrl}/assets/repositories.png`, `${siteUrl}/assets/repositories.png`,
@@ -49,8 +49,9 @@ const structuredData = {
"Automated scheduled backups", "Automated scheduled backups",
"Self-hosted (full data ownership)", "Self-hosted (full data ownership)",
"Metadata preservation (issues, PRs, releases, wiki)", "Metadata preservation (issues, PRs, releases, wiki)",
"Docker support", "Force-push protection with smart detection",
"Multi-repository backup", "Docker, Helm, Nix, and Proxmox support",
"Multi-repository and organization backup",
"Git LFS support", "Git LFS support",
"Free and open source", "Free and open source",
], ],