'use client'; import Link from 'next/link'; import { GitFork, Terminal, Settings, Zap } from 'lucide-react'; import Header from '@/components/Header'; export default function ForkPage() { return (
Run your own Atmosphere link sharing service with a custom domain
Create a version tailored to your community with custom branding and curated platforms.
Host closer to your users for faster load times and better performance.
Self-host on your infrastructure with complete control over features and data.
Get your instance up and running in just a few minutes
{`# Clone the repository
git clone https://github.com/yourusername/aturi-to.git my-instance
cd my-instance
# Run interactive setup
node scripts/setup-fork.js
# Install and start
npm install
npm run dev`}
The setup script will ask for your domain, name, and preferences, then create a
.env.local
file with your configuration.
Customize your instance through environment variables
{`# .env.local
NEXT_PUBLIC_DOMAIN=yourdomain.com
NEXT_PUBLIC_SITE_NAME=Your Site Name
NEXT_PUBLIC_SITE_DESCRIPTION=Your description
NEXT_PUBLIC_AUTHOR_NAME=Your Name
NEXT_PUBLIC_REPO_URL=https://github.com/you/your-fork`}
See .env.example for all available options.
{`git clone https://github.com/yourusername/aturi-to.git
cd aturi-to
cp .env.example .env.local
# Edit .env.local with your settings`}
Edit src/utils/waypoints.tsx to add/remove platforms:
{`export const waypoints: Waypoint[] = [
{
id: 'your-platform',
name: 'Your Platform',
urlPattern: (repo, collection, rkey) => {
return \`https://platform.com/\${repo}/\${rkey}\`;
},
},
];`}
public/src/app/globals.csssrc/app/layout.tsx{`npm install
npm run dev # Test locally at http://localhost:3000
# Deploy to Vercel
vercel
# Add env vars in Vercel dashboard
# Add custom domain in Vercel settings`}
Test profile links and post links to ensure everything works before going live.
When forking aturi.to, you must:
Attribution to the original project is appreciated and helps the ecosystem!
Everything you need to get started