Zephyr is a Social aggregator, part social media platform, part news aggregator. It is a platform that allows users to share and discover content from around the web. Completly open-source and community-driven, Zephyr is a platform that is built by the community, for the community.
- Node.js (v20 or higher)
- pnpm (Package manager)
- Docker (For development environment)
- Git (Version control)
We use pnpm and turbo for managing the dependencies and the monorepo structutre. To install the dependencies and start the development server, run the following commands:
Important
Use the format in .env.example
file to create a .env
file in the root directory.
dev-server
is a script that runs the development server for postgres, redis, minio and creates a temp .env
to start with.
# 1. Clone the repository
git clone https://github.com/zephyr.git && cd zephyr
# 2. Install the dependencies
pnpm install
# 3. First time setup or after clean
pnpm run dev:server
# Subsequent starts
pnpm run docker:start
# Clean everything and start fresh
pnpm run docker:clean:dev && pnpm run dev:server
# 4. Set `.env` variables form `.env.example` file (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
# 5.Start development server
pnpm run dev:start
# OR Manually
pnpm turbo dev
- Next.js: http://localhost:3000
- PostgreSQL: localhost:5433
- Redis: localhost:6379
- MinIO Console: http://localhost:9001
- If you encounter any issues with Prisma, try running the following commands:
cd packages/db
pnpm prisma generate
pnpm prisma db push
- If you encounter any issues with Minio, create bucket manually:
Access MinIO Console at http://localhost:9001
Login with default credentials:
Username: minioadmin
Password: minioadmin
- Create buckets manually:
- uploads
- temp
- backups
Zephyr is licensed under the AGPL License.