MCPSERV.CLUB
Shynet

Shynet

Self-Hosted

Privacy‑first web analytics without cookies

Stale(60)
3.1kstars
0views
Updated Dec 19, 2024
Shynet screenshot 1
1 / 2

Overview

Discover what makes Shynet powerful

Shynet is a lightweight, privacy‑first analytics platform that can be deployed on a single VPS or scaled across a Kubernetes cluster. It is written in **Python** and built atop the **Django** framework, leveraging Django’s ORM for data persistence and its robust authentication system for multi‑tenant support. The core data store is **PostgreSQL**, with optional **Redis** for caching and background job queues. All UI components are rendered server‑side, but the front‑end is highly modular thanks to the **a17t** atomic design library, which allows developers to swap or extend visual components without touching the underlying logic.

Language & Framework

Database

Cache & Queue

Template Engine

Overview

Shynet is a lightweight, privacy‑first analytics platform that can be deployed on a single VPS or scaled across a Kubernetes cluster. It is written in Python and built atop the Django framework, leveraging Django’s ORM for data persistence and its robust authentication system for multi‑tenant support. The core data store is PostgreSQL, with optional Redis for caching and background job queues. All UI components are rendered server‑side, but the front‑end is highly modular thanks to the a17t atomic design library, which allows developers to swap or extend visual components without touching the underlying logic.

Technical Stack

  • Language & Framework: Python 3.x + Django (latest LTS)
  • Database: PostgreSQL (default), with optional SQLite for lightweight dev setups
  • Cache & Queue: Redis (used for session caching, Celery task queues)
  • Template Engine: Django templates powered by a17t for rapid UI composition
  • Tracking Payload: A minified JavaScript snippet (~0.8 kB) that posts JSON to /analytics/api/track/. It degrades gracefully to a 1×1 pixel for non‑JS clients.
  • Deployment: Docker image available on Docker Hub; Helm charts for Kubernetes, with support for horizontal pod autoscaling and ingress configuration.

Core Capabilities

Shynet exposes a RESTful API that lets developers programmatically create sites, users, and retrieve aggregated metrics. The API follows standard Django REST conventions (JSON payloads, token‑based auth). Webhooks can be configured to emit events on new sessions or page views, enabling integration with CI/CD pipelines or notification systems. The platform also ships a GraphQL endpoint for fine‑grained metric queries, which can be used by custom dashboards or third‑party analytics tools.

Key technical features include:

  • Multi‑tenant architecture: A single instance can host dozens of sites and users, each with isolated data stores.
  • Primary‑key integration: Developers can pass a user_id in the tracking payload to correlate visits with application users.
  • Cookie‑free tracking: Relies on URL parameters and the HTTP referrer, eliminating the need for cookie banners.
  • Custom event tracking: Beyond page views, developers can send arbitrary events (event_type, properties) to build funnels or heatmaps.

Deployment & Infrastructure

Shynet’s minimal footprint (≈ 100 MiB Docker image) makes it ideal for small VPS deployments. For high‑traffic scenarios, the architecture supports:

  • Horizontal scaling: Multiple Django workers behind a load balancer, with shared PostgreSQL and Redis.
  • Background processing: Celery workers handle heavy analytics aggregation, preventing request latency spikes.
  • Persistent storage: Docker volumes or external block storage for the PostgreSQL database, ensuring data durability across restarts.

Container orchestration is fully supported via Helm charts that expose configurable values for replicas, resource limits, and ingress annotations. The platform also includes a built‑in command‑line tool for database migrations (python manage.py migrate) and fixture loading, streamlining CI pipelines.

Integration & Extensibility

The a17t component library provides hooks for swapping UI widgets, which means front‑end developers can replace the default dashboard with a custom React or Vue component without touching Django. On the data side, Shynet’s API and webhook system allow integration with external analytics dashboards (e.g., Grafana) or custom reporting tools. The event schema is open, so developers can extend it to capture domain‑specific metrics like checkout steps or content engagement.

Developer Experience

Documentation is organized around the core concepts—sites, users, events—and includes API reference sections with example payloads. The community is active on the project's GitHub Issues and Discord channel, offering prompt assistance for deployment or feature requests. The codebase follows Django best practices, with clear separation of concerns between models, serializers, and views, making it approachable for contributors familiar with the framework.

Use Cases

  • Privacy‑conscious SaaS: Companies that need to host analytics internally without exposing user data to third‑party services.
  • High‑traffic blogs: Deploy Shynet on a Kubernetes cluster to handle millions of page views while keeping the data local.
  • Custom event tracking: Integrate Shynet’s API into a microservice architecture to log user journeys across multiple services.
  • Embedded analytics: Use the a17t components to embed Shynet dashboards into an existing admin panel or internal portal.

Advantages

Shynet offers a compelling blend of performance, flexibility, and privacy. Its small footprint keeps resource usage low, while the Django foundation ensures rapid iteration and reliable migrations. The open‑source license removes cost barriers, and the lack of cookie requirements simplifies compliance with GDPR and CCPA. For developers who need a self‑hosted analytics solution that can scale from a single VPS to a full Kubernetes deployment, Shynet provides the technical depth and extensibility required without the overhead of proprietary platforms.

Open SourceReady to get started?

Join the community and start self-hosting Shynet today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
data-analysis
License
APACHE-2.0
Stars
3.1k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Supported OS
LinuxDocker
Author
milesmcc
milesmcc
Last Updated
Dec 19, 2024