MCPSERV.CLUB
Scoold

Scoold

Self-Hosted

Team Q&A and knowledge sharing platform

Active(86)
898stars
0views
Updated 2 days ago
Scoold screenshot 1
1 / 3

Overview

Discover what makes Scoold powerful

Scoold is a self‑hosted, Java‑based Q&A and knowledge‑sharing platform that mimics the core mechanics of Stack Overflow while providing a full‑stack, modular architecture. The application is distributed as a single executable JAR (Spring Boot) that bundles a lightweight web UI and a RESTful API. The heavy data‑handling responsibilities are delegated to **Para**, an external service that abstracts persistence and search, allowing Scoold to remain lean (≈7 kLOC) and easily understandable for developers. This separation of concerns means that the core application focuses on business logic, while Para can be swapped or scaled independently to accommodate various database backends and search engines.

Backend

Persistence

Frontend

Security

Overview

Scoold is a self‑hosted, Java‑based Q&A and knowledge‑sharing platform that mimics the core mechanics of Stack Overflow while providing a full‑stack, modular architecture. The application is distributed as a single executable JAR (Spring Boot) that bundles a lightweight web UI and a RESTful API. The heavy data‑handling responsibilities are delegated to Para, an external service that abstracts persistence and search, allowing Scoold to remain lean (≈7 kLOC) and easily understandable for developers. This separation of concerns means that the core application focuses on business logic, while Para can be swapped or scaled independently to accommodate various database backends and search engines.

Architecture & Technical Stack

  • Backend: Spring Boot (Java 21+), leveraging Spring MVC, Security, and Data modules. The codebase is built around the OpenAPI 3.0 specification, exposing a comprehensive REST API that covers questions, answers, comments, votes, badges, and space management.
  • Persistence: Para acts as an abstraction layer over multiple relational databases (PostgreSQL, MySQL, MariaDB) and NoSQL stores (Cassandra). It also provides full‑text search via Elasticsearch or Solr, and distributed caching with Redis or Hazelcast.
  • Frontend: A minimal jQuery‑based UI rendered by Thymeleaf templates, styled with Materialize CSS. The client side is intentionally lightweight to keep bundle sizes small and reduce rendering overhead.
  • Security: Supports mutual TLS, LDAP, OAuth 2.0, SAML (Pro), SCIM 2.0, and custom authentication modules. The platform also offers webhook support with HMAC signature verification for secure integrations.
  • Extensibility: The plugin architecture allows developers to add custom badges, themes, or integrate with external services (Slack, Mattermost, Teams). Zapier integration is also available via outbound webhooks.

Core Capabilities & Developer APIs

  • RESTful API: All CRUD operations are exposed through a well‑documented OpenAPI spec, enabling programmatic access for bots, analytics dashboards, or custom frontends.
  • Webhooks & Event Hooks: Publish events (new question, answer, comment, vote) to external services. Signatures ensure message integrity.
  • Search & Geolocation: Full‑text search powered by Para’s underlying engine; location filtering enables “near me” queries.
  • Space Isolation: Multi‑tenant support via Spaces (teams) that isolate users and content. This is ideal for corporate knowledge bases.
  • Badge System: Reputation, voting, and custom badge logic are all exposed through API endpoints, allowing external services to compute or display badges in real time.

Deployment & Infrastructure

Scoold is designed for containerized and cloud‑native deployments. The official Docker image (erudikaltd/scoold) is slim and can be run on any Kubernetes cluster, ECS/EKS/Fargate, or a simple Docker‑Compose setup. The application requires Java 21+ and can be paired with Para running in its own container, enabling horizontal scaling of the data layer independently from the web tier. For on‑premises or VPS deployments, a single JAR is sufficient; however, leveraging Para’s distributed cache and search engines yields the best performance for high‑traffic environments.

Integration & Extensibility

  • Plugin System: Developers can add new functionality by implementing the provided interfaces in Para or Scoold’s core. Themes, authentication providers, and badge logic are all modular.
  • Webhooks & Signatures: Secure outbound notifications to third‑party services. The signature mechanism uses HMAC with SHA‑256, making it straightforward to validate in any language.
  • API Hooks: Custom endpoints can be added via Spring’s @RestController mechanism, exposing new data or processing pipelines without touching the core UI.
  • SDKs & Libraries: While not bundled, community‑maintained client libraries exist for Java, Python, and Node.js, simplifying integration with external systems.

Developer Experience

The project follows standard Maven conventions, and the source is well‑documented with inline comments. The OpenAPI spec serves as both documentation and a contract for client libraries. Community support is available via Gitter, GitHub Issues, and email (for Pro users). The license (Apache 2.0) allows unrestricted modification and internal use, making it attractive for enterprises that need to customize the platform.

Use Cases

  1. Internal Knowledge Base – Teams can host a self‑contained Q&A system that integrates with existing LDAP or SAML providers.
  2. Customer Support Portal – With email notifications and webhooks, Scoold can act as a lightweight helpdesk.
  3. Developer Community – The open‑source nature and extensibility make it suitable for niche communities that require custom badges or integration with CI/CD pipelines.
  4. Enterprise Knowledge Management – Scoold Pro’s multi‑space support, SCIM provisioning, and advanced security features cater to large organizations with strict compliance needs.

Advantages Over Alternatives

  • Performance & Scalability: Decoupling the UI from Para allows independent scaling of read/write workloads and search.
  • Flexibility: Database‑agnostic design means you can choose the storage that best fits your performance or cost profile.
  • Licensing: Apache 2.0 permits internal use and modification without subscription fees, unlike many SaaS‑only Q&A platforms.
  • Security: Built‑in mTLS, LDAP, OAuth

Open SourceReady to get started?

Join the community and start self-hosting Scoold today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
apis-services
License
APACHE-2.0
Stars
898
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Official
Supported OS
LinuxDocker
Author
Erudika
Erudika
Last Updated
2 days ago