Asagity is a modern, anime-inspired, decentralized federated social platform developed by CyaniAgent. It's not just another microblogging instance; it's a digital utopia that combines real-time social networking with a powerful multi-backend cloud drive.
Built with the ActivityPub protocol, Asagity allows you to seamlessly interact with users across the entire Fediverse (Mastodon, Misskey, Pleroma, etc.), all while enjoying a gorgeous, glassmorphism "Dashboard" UI.
- 🪐 Native Federation: Fully compatible with the ActivityPub protocol. Connect, reply, and resonate with the entire Fediverse.
- ☁️ Skyline Drive: A built-in, powerful cloud drive system. Supports local storage, S3-compatible object storage, and remote WebDAV mounting. Features chunked uploads and a native file manager UI.
- #️⃣ Topics System: Community-driven topic discovery with activity tracking, trending analysis, and real-time post integration.
- 🎨 Anime-vibe & Dashboard UI: Breaking the traditional three-column layout. Asagity uses a modern SaaS-like "Inverted-L" layout with rich glassmorphism (backdrop-blur) effects, customizable themes, and a "Cyan" (Asagi) soul.
- 🎵 Rich Toy-like Widgets: Built-in mini music player, custom dynamic emojis, typing effects, and weather-based online status.
- ⚡ Blazing Fast: Powered by Go (Goroutines) for massive concurrent federation broadcasting, and Nuxt 4 for instant SSR frontend delivery.
Asagity is built as a symmetric Monorepo, separating the UI layer from the heavy-lifting core.
- Frontend (
/web): Vue 3, Nuxt 4 (SSR), Nuxt UI, Tailwind CSS v4, Pinia, VueUse. - Backend (
/core): Go, GORM, Asynq (Redis-based task queue). - Infrastructure: PostgreSQL (Main database with JSONB), Redis (Cache & Queue).
- Container Runtime: Docker & Podman support with separate container configs.
Clone the repository and spin up the database and Redis using Docker or Podman:
git clone https://github.com/CyaniAgent/Asagity.git
cd AsagityFor Docker:
docker compose -f container/docker/docker-compose.yaml up -dFor Podman:
# Start services
cd container/podman && ./start.sh
# Or manually
podman compose -f container/podman/podman-compose.yaml up -dcd core
# Copy the env example and configure it
cp .env.example .env
go mod tidy
go run .Open a new terminal window:
cd web
pnpm install
pnpm devVisit http://localhost:2000 to enter the Cyan Universe!
Asagity/
├── web/ # Frontend (Nuxt 4)
│ ├── app/
│ │ ├── components/ # Vue components
│ │ ├── pages/ # Page routes
│ │ ├── stores/ # Pinia stores
│ │ └── layouts/ # Layout components
│ └── ...
├── core/ # Backend (Go)
│ ├── cmd/api/ # API entrypoint
│ ├── internal/
│ │ ├── module/ # Domain modules
│ │ │ ├── auth/ # Authentication
│ │ │ ├── drive/ # Skyline Drive
│ │ │ └── ...
│ │ └── platform/ # Shared infrastructure
│ └── ...
├── container/ # Container configurations
│ ├── docker/ # Docker Compose
│ └── podman/ # Podman Compose + scripts
└── docs/ # Documentation
Asagity is currently in its early development phase. PRs, issues, and feature requests are highly welcome!
This project is licensed under the AGPL-3.0 License.