open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Host

AFFiNE Community Edition (CE) auf Debian installieren – Schritt-für-Schritt-Anleitung

Autor
AFFiNE Community Edition (CE) auf Debian installieren – Schritt-für-Schritt-Anleitung

Die Open-Source-Plattform AFFiNE Community Edition (CE) ist eine leistungsfähige, lokal hostbare Alternative zu Tools wie Notion, Miro oder Obsidian. Mit AFFiNE kannst du Notizen, Tabellen, Whiteboards und Diagramme in einer einheitlichen Oberfläche kombinieren – und das vollständig selbst gehostet.

In diesem Artikel lernst du, wie du AFFiNE CE unter Debian installierst, konfigurierst und sicher betreibst – wahlweise mit Docker Compose oder nativ.

Was ist AFFiNE CE?

AFFiNE ist ein Open-Source-Projekt, das Dokumenten-, Datenbank- und Whiteboard-Funktionen in einem „All-in-One Workspace“ vereint. Die Community Edition (CE) ist die kostenlose, selbst hostbare Variante. Sie richtet sich an:

  • Selbsthoster und Entwickler
  • Teams mit Datenschutzanspruch
  • Power-User, die Notion-ähnliche Tools lokal betreiben wollen

AFFiNE ist local-first, d. h. alle Daten bleiben zunächst lokal gespeichert und können optional über einen Server oder die AFFiNE Cloud synchronisiert werden.

Offizielle Seite: https://affine.pro GitHub Repository: https://github.com/toeverything/AFFiNE

Systemvoraussetzungen

Komponente Empfohlen
Betriebssystem Debian 12 oder 13 (64-Bit)
CPU x86_64 (Intel oder AMD)
RAM mind. 2 GB
Speicherplatz mind. 5 GB frei
Docker (optional) Version ≥ 24
Node.js (bei manueller Installation) Version 18+
Git Version 2.3+

Variante 1: Installation mit Docker Compose

Diese Methode ist die einfachste und wird von den Entwicklern empfohlen.

Schritt 1: Docker & Docker Compose installieren

sudo apt update && sudo apt upgrade -y
sudo apt install ca-certificates curl gnupg lsb-release -y

Füge das Docker-Repository hinzu:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Installiere Docker + Compose:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

Überprüfe:

docker --version
docker compose version

Schritt 2: Projektverzeichnis anlegen

mkdir -p /opt/affine-ce
cd /opt/affine-ce

Schritt 3: Docker-Compose-Datei erstellen

Erstelle die Datei docker-compose.yml:

sudo nano docker-compose.yml

Füge folgendes Setup ein:

version: '3.9'
services:
  affine:
    image: ghcr.io/toeverything/affine-self-hosted:latest
    container_name: affine
    restart: unless-stopped
    ports:
      - "3010:3010"
    volumes:
      - ./data:/root/.affine
    environment:
      - AFFINE_SERVER_HOST=0.0.0.0
      - AFFINE_SERVER_PORT=3010
      - AFFINE_MODE=production

Hinweis: AFFiNE läuft im Container auf Port 3010. Du kannst diesen Port bei Bedarf anpassen (z. B. 8080:3010).

Schritt 4: Container starten

sudo docker compose up -d

Überprüfe den Status:

sudo docker ps

Schritt 5: Zugriff über Browser

Nach dem Start erreichst du AFFiNE über:

http://<deine-server-ip>:3010

Beispiel:

http://192.168.1.100:3010

Beim ersten Aufruf erscheint die Weboberfläche mit Optionen zum Erstellen neuer Projekte und Notizräume.

Schritt 6: Daten sichern & aktualisieren

AFFiNE speichert Daten im Volume ./data. Sichere dieses Verzeichnis regelmäßig:

tar czf affine-backup-$(date +%F).tar.gz data/

Um ein Update durchzuführen:

sudo docker compose pull
sudo docker compose down
sudo docker compose up -d

Variante 2: Manuelle Installation auf Debian (ohne Docker)

Diese Methode richtet sich an Entwickler oder Nutzer, die AFFiNE nativ kompilieren möchten.

Schritt 1: Abhängigkeiten installieren

sudo apt update && sudo apt install git curl nodejs npm -y

Überprüfe Versionen:

node -v
npm -v

Schritt 2: Repository klonen

cd /opt
sudo git clone https://github.com/toeverything/AFFiNE.git
cd AFFiNE

Schritt 3: Abhängigkeiten installieren

npm install

Falls du pnpm bevorzugst (schneller und stabiler):

sudo npm install -g pnpm
pnpm install

Schritt 4: Server starten

Starte den Entwicklungsserver:

npm run dev

Oder für Produktivbetrieb:

npm run start

AFFiNE läuft standardmäßig auf Port 3010.

Zugriff:

http://localhost:3010

Schritt 5: Systemdienst anlegen (optional)

Damit AFFiNE automatisch startet:

sudo nano /etc/systemd/system/affine.service

Inhalt:

[Unit]
Description=AFFiNE CE Selfhosted
After=network.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/AFFiNE
ExecStart=/usr/bin/npm run start
Restart=always

[Install]
WantedBy=multi-user.target

Aktivieren und starten:

sudo systemctl enable affine
sudo systemctl start affine

Sicherheit & Tipps

1. Reverse Proxy mit HTTPS (z. B. Nginx)

Erstelle eine Nginx-Konfiguration für SSL:

sudo apt install nginx certbot python3-certbot-nginx -y

Beispiel-Konfiguration /etc/nginx/sites-available/affine:

server {
    listen 80;
    server_name affine.meinedomain.de;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name affine.meinedomain.de;

    ssl_certificate /etc/letsencrypt/live/affine.meinedomain.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/affine.meinedomain.de/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3010;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Aktiviere das Setup:

sudo ln -s /etc/nginx/sites-available/affine /etc/nginx/sites-enabled/
sudo systemctl reload nginx
sudo certbot --nginx -d affine.meinedomain.de

2. Zugriff einschränken

Falls AFFiNE nur intern genutzt werden soll, kannst du den Port 3010 über die Firewall sperren:

sudo ufw allow 80,443/tcp
sudo ufw deny 3010/tcp
sudo ufw enable

3. Backups automatisieren

Lege einen täglichen Cronjob für Container-Backups an:

crontab -e

Beispiel:

0 3 * * * cd /opt/affine-ce && tar czf /opt/backups/affine-$(date +\%F).tar.gz data/

Die AFFiNE Community Edition bietet eine beeindruckende Kombination aus Textverarbeitung, Datenbanken und visueller Planung – vollständig Open Source und selbst hostbar.

Mit Docker ist die Installation in wenigen Minuten erledigt, und dank des local-first-Prinzips behältst du volle Kontrolle über deine Daten. Für produktive Umgebungen empfiehlt sich ein Reverse Proxy mit HTTPS und regelmäßige Backups.

Besonders praktisch: AFFiNE läuft stabil auf kleinen VPS-Servern oder auch im Heimnetzwerk (z. B. auf einem Raspberry Pi 4 mit 4 GB RAM).

Nützliche Links