Skip to content

A seamless, next-gen social experience built for speed, privacy, and effortless connection.

License

Notifications You must be signed in to change notification settings

parazeeknova/zephyr



// About 🌿

Zephyr is a next-generation social platform designed for seamless interaction, privacy, and speed. Built with modern web technologies, Zephyr redefines how users connect, share, and engage in a clutter-free digital space. Whether it's real-time conversations, media sharing, or a smooth user experience, Zephyr is crafted for the future of social networking.

// Local Development Setup 📐

Note

Zephyr is a monorepo project, which means that it is composed of multiple packages that are managed together. The project uses pnpm for workspace management and Docker for containerization. Make sure you have the following prerequisites installed before setting up the development environment.

Manual Installation
# 1. Clone the repository
git clone https://github.com/zephyr.git && cd zephyr

# 1.5 For Automatic setup (This will install packages, format using ultracite & setup local .env files and start init docker containers)
pnpm run dev:aio

# Manual setup
# 2. Install the dependencies
pnpm install # (skip if you ran: dev:aio)

# 3. First time setup or after clean
# This will start required containers and run migration containers required for prisma schema & minio buckets
pnpm run docker:dev # (skip if you ran: dev:aio)
# Clean everything and start fresh if you encounter any issues
pnpm run docker:clean:dev && pnpm run docker:dev

# 3.5 (Optional) Run the migrations manually
pnpm run docker:dev-noinit # This will start the required services without running the migrations
cd packages/db && pnpm prisma generate && pnpm prisma db push
# For minio buckets, create the following buckets from the MinIO console at http://localhost:9001 
`uploads`, `temp`, `backups`

# 4. Start the development containers if not already started (optional)
pnpm run docker:start # (optional if you want to start the containers manually)

# 5. Setup the environment variables automatically
pnpm run env:local # (skip if you ran: dev:aio)

# Set `.env` variables form `.env.example` file manually (optional if you want auth and other services)
cp .env.example .env # Unix/Linux/Mac
copy .env.example .env # Windows
# Read the `.env.example` file for more information
# Some useful commands are:
pnpm run env:validate # Validate the environment variables

# 6. Prisma migrations 
pnpm run prisma:up # (skip if you ran: dev:aio)

# 6. Start the development server
pnpm turbo dev
# or
turbo dev

# TIP ⚠️ : Check package.json for more scripts in the root directory
# If you encounter any issues, refer to the troubleshooting section below or report the issue on the Issues page
Using Zephyr Forge (deprecated) ⚠️

Warning

Zephyr Forge is deprecated and no longer maintained. It is recommended to use the manual installation process for setting up the development environment.

Zephyr Forge is a powerful utility designed to streamline the setup process for Zephyr development environments. It automates the entire configuration process, handling everything from dependency checks to Docker container management.

bunx zephyr-forge@latest setup

What a sucessful docker setup looks like after running pnpm run docker:dev:

Docker setup
// Ports:

If everything goes well, you should be able to access the following services:

// Screenshots

Homepage Notifications Bookmarks
homepage notifications bookamrks
Profile Chat Users
profile settings users

// Troubleshooting 🍋‍🟩

// pre commit hooks

If you encounter any issues with the pre-commit hooks, try running the following commands:

# Ensure that your code is formatted and linted
pnpm run lint && pnpm run format

If you encounter any issues with the development setup, try the following steps:

// Database

If you encounter any issues with Prisma or the migrations failed, try running the following commands:

# Navigate to the db package
cd packages/db

# Run the following commands
pnpm prisma generate
pnpm prisma db push
// Minio 🦩

If you encounter any issues with Minio or the buckets are not created, try the following steps:

# Ensure MinIO is running
Access MinIO Console at http://localhost:9001

# Login with default credentials:
Username: minioadmin
Password: minioadmin

Create the following buckets:

- uploads
- temp
- backups

If you still encounter any issues with the development server, report the issue on the Issues page.

// Analytics 📊

Alt

// Contributors

// Hall of Fame



Zephyr is licensed under the AGPL License.

// Copyright © 2025 Parazeeknova