MCPSERV.CLUB
Tracim

Tracim

Self-Hosted

Collaborative workspace for teams

Active(92)
245stars
0views
Updated 10 days ago

Overview

Discover what makes Tracim powerful

Tracim is a **self‑hosted groupware platform** that bundles document management, collaboration tools, and a rich API surface. It is engineered for teams that need fine‑grained control over data, custom integrations, and an open source stack. The core of Tracim is a **Python/Django** backend that exposes RESTful endpoints, coupled with a **React/TypeScript** single‑page application (SPA) that consumes these APIs. The architecture is deliberately modular: core services such as authentication, file storage, and activity feeds are isolated behind well‑defined interfaces, allowing developers to replace or extend them without touching the rest of the codebase.

Enterprise‑grade document storage

Real‑time collaboration

Extensible plugin system

OAuth2 / OpenID Connect support

Overview

Tracim is a self‑hosted groupware platform that bundles document management, collaboration tools, and a rich API surface. It is engineered for teams that need fine‑grained control over data, custom integrations, and an open source stack. The core of Tracim is a Python/Django backend that exposes RESTful endpoints, coupled with a React/TypeScript single‑page application (SPA) that consumes these APIs. The architecture is deliberately modular: core services such as authentication, file storage, and activity feeds are isolated behind well‑defined interfaces, allowing developers to replace or extend them without touching the rest of the codebase.

Key Features

  • Enterprise‑grade document storage with versioning, metadata tagging, and fine‑grained ACLs.
  • Real‑time collaboration via WebSocket endpoints for chat, comments, and live document editing hooks.
  • Extensible plugin system: Python modules can hook into lifecycle events (e.g., pre_upload, post_delete) and expose new REST routes.
  • OAuth2 / OpenID Connect support for single‑sign‑on with external identity providers.
  • Webhooks & Event streams: expose a push API that third‑party services can subscribe to, enabling automated workflows.
  • Multilingual UI with a robust translation pipeline powered by Weblate.

Technical Stack

LayerTechnologyRationale
BackendPython 3.11, Django 4.x, DRF (Django REST Framework)Mature ecosystem, strong typing via mypy, built‑in ORM.
FrontendReact 18, TypeScript, ViteFast dev cycles, component reuse, strict typing.
DatabasePostgreSQL (recommended), SQLite for devACID guarantees, support for full‑text search and JSONB.
StorageLocal filesystem (default), S3-compatible object storage via django-storagesFlexibility for on‑prem or cloud setups.
Message BusRedis (for caching, rate limiting, Celery broker)Lightweight in‑memory store for async tasks.
ContainerizationDocker, Compose templates includedSimplifies deployment and CI pipelines.

The codebase follows Django’s app‑centric layout, with each functional domain (e.g., documents, collaboration) packaged as a separate Django app. This separation eases unit testing and plugin development.

Core Capabilities

  • REST API: CRUD operations on documents, spaces, users, and permissions; supports pagination, filtering, and field selection.
  • GraphQL endpoint (optional) for complex queries with minimal payloads.
  • CLI tooling (tracim-admin) for migrations, database seeding, and background job management.
  • Authentication backends: JWT, session cookies, LDAP, SAML, and external OAuth providers.
  • Audit logging: every action is recorded in a database table, exportable as CSV or JSON.

Developers can consume these APIs with standard HTTP clients or integrate them into existing microservices.

Deployment & Infrastructure

Tracim is fully container‑ready. The official Docker image exposes configurable environment variables (DATABASE_TYPE, TRACIM_WEBSITE__BASE_URL) and mounts for /etc/tracim (config) and /var/tracim (persistent data). Production deployments typically use:

  • PostgreSQL as the primary database; schema migrations are handled by Django’s migration framework.
  • Redis for caching and Celery broker; optional RabbitMQ support is available.
  • NGINX or a cloud load balancer in front of the Docker container for HTTPS termination and static asset caching.
  • Kubernetes manifests are provided in the repo, allowing horizontal scaling of worker pods and stateless API replicas.

The architecture supports horizontal scaling: the Django app is stateless, so multiple instances can share a Redis session store and an external S3 bucket for file storage.

Integration & Extensibility

  • Plugin API: Developers can ship Python packages that register signals, add new URLs, or override templates.
  • Webhooks: Configure endpoints to receive JSON payloads on events like document.created or user.deleted.
  • SDKs: A lightweight Python SDK (tracim-sdk) wraps the REST API, handling authentication and pagination.
  • OAuth/OpenID Connect: Easily integrate with corporate identity providers (Okta, Azure AD).
  • Custom workflows: Use Celery tasks to trigger external services (e.g., document conversion, email notifications).

The plugin system is documented in the docs/development/plugins.md file, with examples of event hooks and CLI extensions.

Developer Experience

  • Configuration: YAML/INI files in /etc/tracim expose every setting; environment variables override them at runtime.
  • Documentation: The docs/ folder contains API references, architecture diagrams, and a developer onboarding guide.
  • Community: Active GitHub discussions, a public Slack channel, and Weblate translation contributors provide rapid feedback loops.
  • Testing: Unit tests use pytest with Django fixtures; integration tests run against a Dockerized PostgreSQL instance.
  • CI/CD: GitHub Actions automatically lint, test, and build Docker images on every PR.

Use Cases

  1. Enterprise Document Hub – Replace proprietary cloud solutions with a self‑hosted, GDPR‑compliant repository.

Open SourceReady to get started?

Join the community and start self-hosting Tracim 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
other
License
NOASSERTION
Stars
245
Technical Specs
Pricing
Open Source
Database
SQLite
Docker
Official
Supported OS
LinuxDocker
Author
tracim
tracim
Last Updated
10 days ago