AFFiNE — Shared Workspace
AFFiNE ist ein Open-Source-Workspace (Notion + Miro + Slides Alternative), selbst-gehostet als geteilte Plattform für Menschen und AI-Agenten.
URL: https://a.freundeskreis.family/
Status: ✅ Live (HTTP 200, selfhosted mode)
Architektur
Browser → Nginx (Plesk :443) → localhost:3010 → AFFiNE Docker Stack
├── affine_server (Node.js, Express)
├── affine_postgres (PostgreSQL 16 + pgvector)
└── affine_redis (Redis)
Deployment
| Pfad | Inhalt |
|---|---|
~/httpdocs/affine/compose.yml | Docker Compose (4 Container) |
~/httpdocs/affine/.env | Port, DB-Passwort, Base URL |
~/httpdocs/affine/config/config.json | Server-Name, AI-Provider |
~/httpdocs/affine/config/private.key | EC P-256 Session-Signing Key |
~/httpdocs/affine/storage/ | Blobs, Avatars, Copilot-Daten |
~/httpdocs/affine/postgres/ | PostgreSQL-Datendateien |
Kommandos
cd ~/httpdocs/affine
# Start / Stop / Upgrade
docker compose up -d
docker compose down
docker compose pull && docker compose up -d
# Logs
docker logs affine_server --tail 50 -f
# Backup
docker exec affine_postgres pg_dump -U affine affine > backup_$(date +%F).sql
tar czf affine_storage_$(date +%F).tar.gz storage/Features — Vollständig
📄 Page Mode (Strukturierte Dokumente)
- Rich Text: Headings, Bold, Italic, Code, Highlights, Callouts
- Block-Typen: Text, Listen (Bullet/Numbered/Todo), Toggles, Dividers, Code (Syntax-Highlighting), Quotes
- Embeds: Bilder, Bookmarks, verlinkte Seiten, YouTube, Figma, GitHub
- Slash-Commands (
/), Markdown-Shortcuts (#,-,[],`) [[Wiki-Links mit Backlinks- Inhaltsverzeichnis (auto-generiert)
🎨 Edgeless Mode (Infinite Canvas / Whiteboard)
Umschalten via Toggle-Button oben links.
| Werkzeug | Funktion |
|---|---|
| Stift | Freihand-Zeichnung mit Druckempfindlichkeit |
| Shapes | Rechtecke, Kreise, Dreiecke, Diamanten, Abgerundete |
| Connectors | Pfeile und Linien mit Auto-Routing |
| Sticky Notes | Farbige Schnellnotizen |
| Frames | Gruppen → Präsentations-Slides |
| Textboxen | Freistehender Text überall |
Canvas-Superkräfte: Infinite Zoom, Gruppieren, Layer-Reihenfolge, Snap/Align, Grid, eingebettete Dokumente, Copy as PNG.
📊 Database / Kanban
- Table View — Spreadsheet mit typisierten Spalten (Text, Number, Checkbox, Select, Multi-Select, Date, URL)
- Kanban View — Cards zwischen Status-Spalten ziehen
- Filter, Sortierung, Group-By
- Jede Blockgruppe → Database konvertierbar
🎬 Präsentationen
- Frames in Edgeless = Slides
- Frame-Sidebar zum Umordnen
- Fullscreen-Präsentation direkt vom Canvas
- Visibility Control (Page Mode vs. Edgeless)
🤖 AI Copilot
Konfigurierbar über config.json oder Admin Console. Aktuell nicht aktiviert auf unserer Instanz.
Fähigkeiten: Zusammenfassen, Übersetzen, Erklären, Umschreiben, Fortsetzen, Mind Maps generieren, Chat, Bildgenerierung.
Aktivierung: siehe Skills & Integrations
🔄 Collaboration & Sync
- Echtzeit-Co-Editing (CRDT via Yjs) — mehrere gleichzeitig
- User Accounts, Workspace-Sharing, Kommentare
- Version History mit Restore
- Local-First — funktioniert offline, sync wenn online
📦 Organisation
Workspaces, Folders/Collections, Tags, Favorites, Trash, Volltextsuche, Recently Viewed
📤 Import / Export
- Import: Notion, Markdown, HTML
- Export: Markdown, HTML, PDF (Page Mode), PNG (Canvas-Auswahl)
- Rich Paste von Web, Word, Google Docs
AI-Agent-Integration
| Methode | Fähigkeiten |
|---|---|
| AFFiNE MCP Server | 85 Tools: Docs, DB, Canvas, Kommentare, Blobs |
| Browser-Automation | Puppeteer → AFFiNE UI |
| Docker CLI | Start, Stop, Upgrade, Backup, Logs |
Anwendungsfälle (Freundeskreis)
| Zweck | Umsetzung in AFFiNE |
|---|---|
| Sitzungsnotizen | Page Mode + Todo-Checklisten |
| Event-Planung | Kanban: Idee → Geplant → In Arbeit → Erledigt |
| Brainstorming | Edgeless Canvas + Sticky Notes → Frames |
| Vereins-Timeline | Page oder Canvas-Timeline |
| Content-Entwürfe | Page Mode → AI Translate → Copy to TYPO3 |
| Präsentationen | Edgeless Frames → Mitgliederversammlung |
| Foto-Boards | Bilder auf Canvas arrangieren |
| Projekt-Tracking | Database (Table + Kanban) |
| Wissensbasis | Verlinkte Seiten mit [[Backlinks]] |
Plesk-Konfiguration
Nginx Reverse Proxy (WebSocket-fähig):
location / {
proxy_pass http://127.0.0.1:3010;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 100M;
}See also
- AFFiNE MCP Server — 85 programmatische Tools
- Skills & Integrations — Copilot-Aktivierung, Workflows
- OMP Harness — Agent-Tools für AFFiNE-Zugriff
- 🚀 Cheat Sheet — Schnellnavigation
- Plesk & Subdomains — Hosting-Details
- Technik — Gesamtinfrastruktur
- Quartz Wiki — SSOT Wiki-Betrieb
- Meta Hub