← Terug naar blog

Bouw je eigen Google Docs alternatief op een Raspberry Pi NAS

OnlyOffice

Google Docs en Sheets zijn handig door centrale opslag, goede zoekmogelijkheden, een eenvoudige interface en samenwerking met meerdere gebruikers. Toch blijft de wens bestaan voor een echt private, lokaal gehoste oplossing zonder cloudafhankelijkheid.

Standaard self-hosted opties zoals Nextcloud of Owncloud zijn vaak te zwaar voor een bescheiden Raspberry Pi NAS. Synology Office is een goede commerciele optie, maar mijn huidige setup gebruikt al een Raspberry Pi 4 als NAS met een externe SSD via USB 3.

De lichte en krachtige oplossing: OnlyOffice Document Server combineren met Filebrowser Quantum.


OnlyOffice en Filebrowser Quantum

OnlyOffice is de engine. Die doet het zware werk voor documenten, spreadsheets en presentaties, met goede compatibiliteit met Microsoft Office-formaten. Maar OnlyOffice is vooral een document server en heeft een interface nodig om bestanden te beheren en editsessies te starten.

Daar komt Filebrowser Quantum in beeld:

  • het is de file management frontend
  • het integreert met document editors zoals OnlyOffice
  • het biedt een eenvoudige interface om bestanden te browsen, uploaden en openen

Projectresources

SoftwareDocumentatieGitHub Repository
Filebrowser Quantumfilebrowserquantum.com/en/docs/github.com/gtsteffaniak/filebrowser
OnlyOffice Document Serverapi.onlyoffice.com/github.com/ONLYOFFICE/DocumentServer

Beide applicaties zijn efficient en licht genoeg voor de 64-bit architectuur van een Raspberry Pi NAS.

Filebrowser Quantum


Installatie met Docker Compose

Voor performance en betrouwbaarheid installeer ik dit direct op de RPi NAS, met opslag op een USB-SSD. Om de SD-kaart te sparen, staat ook de Docker-data op de SSD.

1. Voorbereiding op de Raspberry Pi

Log in op de Raspberry Pi, ga naar de SSD en maak de benodigde mappen:

cd ssd
mkdir onlyoffice-filebrowser
cd onlyoffice-filebrowser
mkdir -p onlyoffice/data onlyoffice/logs onlyoffice/lib
mkdir -p filebrowser/data

2. Filebrowser Quantum configureren

Het config.yaml bestand vertelt Filebrowser hoe het netwerk werkt en hoe OnlyOffice bereikt moet worden.

$ nano filebrowser/data/config.yaml
server:
  database: "/home/filebrowser/data/database.db"
  internalUrl: "http://filebrowser"
  externalUrl: "http://[YOUR.RPi.IP.ADDRESS]"
  sources:
    - path: /files
      config:
        defaultEnabled: true
auth:
  adminUsername: admin
integrations:
  office:
    url: "http://[YOUR.Pi.IP.ADDRESS]:8080"
    secret: "Create-your-own-128bit-secret-string"

3. Docker Compose

Het docker-compose.yml bestand definieert OnlyOffice en Filebrowser. Let op: JWT_SECRET moet overeenkomen met de secret in config.yaml.

services:
  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice
    restart: always
    ports:
      - "8080:80"
    environment:
      JWT_SECRET: Create-your-own-128bit-secret-string
      JWT_ENABLED: 'true'
    volumes:
      - ./onlyoffice/data:/var/www/onlyoffice/data
      - ./onlyoffice/logs:/var/log/onlyoffice
      - ./onlyoffice/lib:/var/lib/onlyoffice
    healthcheck:
      test: ["CMD-SHELL", "wget -q --no-check-certificate http://localhost/healthcheck -O /dev/null || exit 1"]
      interval: 30s
      timeout: 3s
      retries: 3

  filebrowser:
    image: gtstef/filebrowser:stable
    container_name: filebrowser
    restart: always
    ports:
      - "80:80"
    environment:
      FILEBROWSER_CONFIG: "data/config.yaml"
      FILEBROWSER_ADMIN_PASSWORD: "Your-admin-password"
      FILEBROWSER_ONLYOFFICE_URL: "http://onlyoffice"
    volumes:
      - ./filebrowser/data:/home/filebrowser/data
      - /home/pi/ssd/nas/Documents:/files
    depends_on:
      - onlyoffice

4. Starten en controleren

Start de stack:

docker compose up -d

Daarna zijn de onderdelen bereikbaar via:

  • Filebrowser Quantum: http://[YOUR.RPi.IP.ADDRESS]
  • OnlyOffice Document Server: http://[YOUR.RPi.IP.ADDRESS]:8080

OnlyOffice sheet voorbeeld

Logs bekijken:

docker compose logs -f filebrowser onlyoffice

Na wijzigingen kun je herstarten met:

docker compose down && docker compose up -d

Deze setup levert de kernfunctionaliteit van Google Docs: centrale opslag, doorzoekbare bestanden en multi-user document editing, maar dan op eigen hardware en zonder cloudafhankelijkheid.