Custom Doccano annotation platform with Tibetan language support and Monlam AI enhancements.
- Full Tibetan (ΰ½ΰ½Όΰ½ΰΌΰ½¦ΰΎΰ½ΰΌ) UI translations
- Monlam Unicode font support
- RTL-compatible text handling
- Custom color scheme (gold/navy)
- Monlam logo and favicon
- Clean, distraction-free interface (GitHub buttons hidden)
- JSONL import with external audio URLs - Import audio from S3/MinIO without uploading
- Auto TextLabel creation - Transcripts are automatically created as annotations
- Pre-filled labels - Annotators can review/edit instead of transcribing from scratch
- Correct audio URL export - Exports include the original audio URLs
- Auto-loop audio playback - Audio automatically loops by default with toggle controls (π Setup Guide)
- JSONL import with external image URLs - Import images from S3/MinIO
- Pre-filled category labels - Labels are pre-populated for review/approval workflow
- Review button styling: π΄ Red Circle for "not done", π’ Green Check for "done"
- Per-annotator completion status - Track each annotator's progress on every example
- Per-approver approval status - Track each approver's reviews with notes
- Visual indicators - Color-coded status badges and progress bars in UI
- Project Manager role - New role with full visibility of completion matrix
- Admin dashboard - Comprehensive dashboard showing completion matrix for all team members
- Real-time tracking - Auto-updating status indicators
- Export functionality - Download completion data as CSV
π¨ UI Integration Features:
- Enhanced Members Progress Page - Color-coded progress bars with hover tooltips and detailed stats modal
- Dataset Table Completion Columns - Annotator and Approver status columns with badges and usernames
- Non-invasive design - JavaScript-based enhancements, no core file modifications
- Real-time updates - Automatic refresh on pagination and filtering
π View Completion Tracking Documentation
π View UI Integration Guide
git clone https://github.com/monlam-ai/monlam-doccano.git
cd monlam-doccano
cp .env.example .env
# Edit .env with your settingsdocker-compose up -d --buildOpen http://localhost:8000 (or your configured port)
Default credentials (change in .env):
- Username:
admin - Password:
changeme123
{"filename": "https://s3.example.com/audio/file1.wav", "text": "Transcript here", "label": "Transcript here"}
{"filename": "https://s3.example.com/audio/file2.wav", "text": "Another transcript", "label": "Another transcript"}| Field | Description |
|---|---|
filename |
Audio URL (S3, MinIO, or any HTTP URL) |
text |
Transcript text (stored in example) |
label |
Pre-filled annotation (shown to annotator) |
meta |
Optional metadata object |
{"filename": "https://s3.example.com/images/cat.jpg", "label": ["cat", "animal"]}
{"filename": "https://s3.example.com/images/dog.jpg", "label": ["dog", "pet"]}| Field | Description |
|---|---|
filename |
Image URL (S3, MinIO, or any HTTP URL) |
label |
Array of category labels (pre-filled) |
meta |
Optional metadata object |
monlam-doccano/
βββ Dockerfile # Custom Doccano image
βββ docker-compose.yml # Container orchestration
βββ .env.example # Environment template
βββ branding/
β βββ i18n/ # Tibetan translations
β β βββ bo/ # ΰ½ΰ½Όΰ½ΰΌΰ½¦ΰΎΰ½ΰΌ locale files
β β βββ index.js # Locale registry
β βββ static/
β βββ logo.png # Monlam logo
β βββ favicon.png # Browser favicon
βββ patches/
βββ assignment/ # Custom assignment & completion tracking
β βββ models_separate.py # Assignment models
β βββ completion_tracking.py # Completion tracking models
β βββ roles.py # Project Manager role
β βββ completion_views.py # Completion matrix API
β βββ views.py # Assignment API
β βββ serializers.py # REST serializers
β βββ urls.py # URL routing
β βββ migrations/
β β βββ 0001_initial.py
β β βββ 0002_completion_tracking.py
β βββ COMPLETION_TRACKING_README.md
β βββ INSTALLATION_GUIDE.md
β βββ QUICK_START.md
βββ backend/
β βββ celery_tasks.py # Auto TextLabel creation
β βββ serializers.py # External URL handling
β βββ export_models.py# Correct export URLs
β βββ catalog.py # JSONL import options
β βββ datasets.py # Custom dataset classes
βββ frontend/
β βββ index.html # UI customizations
β βββ 200.html # SPA fallback
β βββ completion-matrix.html # Completion dashboard
β βββ status-indicators.js # Status UI components
βββ examples/
βββ speech_to_text/
β βββ example.jsonl
βββ image_classification/
βββ example.jsonl
Uncomment the volume mounts in docker-compose.yml to enable live frontend updates:
volumes:
- ./patches/frontend/index.html:/doccano/backend/client/dist/index.html:ro
- ./patches/frontend/200.html:/doccano/backend/client/dist/200.html:roAfter modifying backend patches:
docker-compose build --no-cache
docker-compose up -dFor production with Traefik reverse proxy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.doccano.rule=Host(`annotate.example.com`)"
- "traefik.http.routers.doccano.entrypoints=websecure"
- "traefik.http.routers.doccano.tls=true"
- "traefik.http.services.doccano.loadbalancer.server.port=8000"Based on Doccano (MIT License).
Monlam customizations Β© 2024 Monlam AI.
For issues with Monlam customizations, please open an issue in this repository.
For core Doccano issues, please refer to the upstream repository.
