1ab9956b2686e92009dd5bf2286eac60f20f1386
Synapsis
Synapsis is an open-source, federated social network built to serve as global communication infrastructure. It is designed to be lightweight, easy to deploy, and interoperable with the broader fediverse.
Features
- Federation Ready: Built with ActivityPub compatibility in mind (WebFinger, NodeInfo).
- Identity: Portable identity system backed by user handles.
- Modern UI: Clean, responsive interface inspired by Vercel's design system.
- Rich Media: Support for image uploads and media galleries.
- Moderation: Built-in admin dashboard for user management and content moderation.
- Setup Wizard: User-friendly
/installflow to get your node running in minutes. - Curated Feeds: Smart feed algorithms to highlight engaging content.
Tech Stack
- Framework: Next.js 15+ (App Router)
- Database: PostgreSQL (via Neon / Drizzle ORM)
- Styling: Tailwind CSS v4 & custom Vercel-like design system
- Authentication: Auth.js (NextAuth)
- Type Safety: TypeScript
Getting Started
Prerequisites
- Node.js 18+
- A PostgreSQL database (e.g., Neon)
Installation
-
Clone the repository
git clone https://github.com/cyph3rasi/Synapsis.git cd Synapsis -
Install dependencies
npm install -
Configure Environment Copy the example environment file:
cp .env.example .envUpdate
.envwith your credentials:# Database (PostgreSQL connection string) DATABASE_URL="postgresql://user:password@host/dbname..." # Auth (Generate with: openssl rand -base64 33) AUTH_SECRET="your-secret-key" # Node Configuration NEXT_PUBLIC_NODE_DOMAIN="your-domain.com" NEXT_PUBLIC_NODE_NAME="My Synapsis Node" # Admin Access (Comma-separated emails) ADMIN_EMAILS="admin@example.com,moderator@example.com" -
Initialize Database Push the schema to your database:
npm run db:push -
Start Development Server
npm run devVisit
http://localhost:3000to see your node.
Initial Setup
- Go to
http://localhost:3000(or your deployed URL). - You will be redirected to the Setup Wizard (
/install) if the node is not configured. - Follow the wizard to verify your environment and database connection.
- Register your first account.
- Add your email to
ADMIN_EMAILSin your.envfile to grant yourself admin privileges. - Restart the server (if running locally) to apply the admin changes.
Deployment
This project is optimized for deployment on Vercel.
- Push your code to a Git repository.
- Import the project into Vercel.
- Add the required environment variables (
DATABASE_URL,AUTH_SECRET, etc.) in the Vercel project settings. - Deploy.
License
Licensed under the Apache 2.0 License. See LICENSE for details.
Description
Languages
TypeScript
97.5%
CSS
1.9%
JavaScript
0.3%
Shell
0.3%