Ein Tool für Dateien, die ich in Sync haben möchte

2026-09-21

Sync-in ist das Tool, das man im Homelab haben möchte, wenn man Dokumente synchron halten will, ohne auf Kuschelweich, Apfel oder Google zu setzen. Es hält alle Dateien über Geräte (Win, Mac, Linux) hinweg oder mit mehreren Nutzern in Sync. Es ist easy peasy in Portainer aufgesetzt (auch dank Claude Code) und lohnt auf jeden Fall einen Blick.

Bei mir ist es jetzt seit mehreren Wochen im Einsatz. Bisher nur für mich allein. Mal hier eine MD-Datei tippen, die Obsidian-Dateien dort ablegen oder einfach zum Rumspielen. Hat mich wenig Zeit bei der Einrichtung gekostet (danke an den Praktikanten Opus) und ich finde es eleganter und schöner als Nextcloud.

Wermutstropfen: Es gibt keine App für iOS, aber es kann über den Browser am iOS-Gerät genutzt werden. Habe ich bisher aber nicht gebraucht: Textarbeit findet bei mir leider (oder zum Glück) mit erhöhter Produktivität am Rechner mit Tastatur statt.

Bonus: Mit der Collabora-Integration eine Browser-Office-Suite à la Microsoft 365 dazukommt, mit der sich Excel-, Word- und Co.-Dokumente kollaborativ erstellen lassen. Das ist in wenigen Klicks und mit einem Stack einfach umgesetzt. Fazit: Nice!

Hier mein Stack. Passwörter, Domain (aliasgroup1) und den Pfad zum eigenen CA-Zertifikat natürlich anpassen:

services:
  sync_in:
    image: syncin/server:2
    container_name: sync-in
    restart: always
    environment:
      - INIT_ADMIN=true
      - INIT_ADMIN_LOGIN=admin
      - INIT_ADMIN_PASSWORD=DEMOPASS
      - PUID=8888
      - PGID=8888
    ports:
      - "8080:8080"
    volumes:
      - /opt/sync-in/environment.yaml:/app/environment/environment.yaml
      - /opt/sync-in/data:/app/data
    depends_on:
      - mariadb
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"

  mariadb:
    image: mariadb:11
    container_name: sync-in-mariadb
    restart: always
    command: --innodb_ft_cache_size=16000000 --max-allowed-packet=1G
    environment:
      MYSQL_ROOT_PASSWORD: SQLPASS
      MYSQL_DATABASE: sync_in
    volumes:
      - mariadb_data:/var/lib/mysql
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"

  collabora:
    image: collabora/code
    container_name: collabora
    restart: always
    environment:
      aliasgroup1: 'https://sync\.home\.arpa:443'
      extra_params: >-
        --o:ssl.enable=false
        --o:ssl.termination=true
        --o:logging.disable_server_audit=true
        --o:admin_console.enable=false
        --o:storage.ssl.ca_file_path=/opt/caddy-ca/root.crt
    ports:
      - "9980:9980"
    volumes:
      - /opt/sync-in/caddy-root.crt:/opt/caddy-ca/root.crt:ro
    cap_drop:
      - ALL
    cap_add:
      - SYS_CHROOT
      - SYS_ADMIN
      - FOWNER
      - CHOWN
    logging:
      driver: json-file
      options:
        max-size: "25m"
        max-file: "5"

networks:
  default:
    ipam:
      config:
        - subnet: 192.168.48.0/20

volumes:
  mariadb_data: