Cryptpad + OnlyOffice + Proxy als Docker

Inhaltsverzeichnis

Vorraussetzung:

  • VM Debian 13
  • Docker + Docker Compose
  • Portainer CE oder BE
  • Proxy wie z.B. Pangolin

Cryptpad deploy über Portainer

1.

  • Erstellt eine Domain in eurem Proxy. Ich nutze Pangolin. Genau so gut geht aber auch einfach NGINX oder NIGINX-Proxy-Manager. Damit Cryptpad funktioniert, ist SSL mit einem gültigen Zertifikat Voraussetzung.
  • Port: Siehe Punkt 4.

2.

  • In Portainer geht zu Stacks --> + Add stack. Vergebt einen Namen z.B. „cryptpad“. In den Web Editor kopiert ihr die docker compose yaml die ihr weiter unten findet,

  • Passt folgende Zeilen an eure Umgebung an.

  • Bei den Domains muss es sich um eure im Proxy erstellten Domain mit https und SSL Zertifikat handeln. Über diese erreicht ihr dann Cryptpad.

http oder die IP werden nicht funktionieren.

				
					# Basis-URL des CryptPad-Servers
      - CPAD_MAIN_DOMAIN=https://<Hier kommt eure DOMAIN rein>
      - CPAD_SANDBOX_DOMAIN=https://<Hier kommt eure DOMAIN rein>
				
			
  • Mit yes oder no könnt ihr definieren ob OnlyOffice installiert wird oder nicht. Ohne OnlyOffice stehen nur die Standard Editoren zu Verfügung. Mit OnlyOffice erhaltet ihr die komplette Office Suite.
				
					# OnlyOffice wird extern genutzt
      - CPAD_INSTALL_ONLYOFFICE=yes
				
			
  • Die Ports links könnte ihr frei auswählen und ändern, sollten diese schon anderweitig in Benutzung sein. Die Ports rechts sind die internen im Container und dürfen nicht geändert werden.
				
					ports:
      - "3004:3000"   # CryptPad Web
      - "3005:3003"   # Sandbox / interne Dienste
				
			
  • Mehr muss nicht angepasst werden. Die Volumen könnt ihr so lassen, diese garantieren das auch bei einem Container Update die Dokumente persistent gespeichert bleiben und nicht verloren gehen.

3.

  • Seit ihr fertig, geht unten auf Deploy the stack

  • Es wird nun ein Container mit Cryptpad und einer mit OnlyOffice erstellt. Cryptpad verbindet sich automatisch mit dem OnlyOffice Container.

4.

  • In eurem Proxy muss die Domain auf den Port 3004 („3004:3000“ # CryptPad Web) zeigen, denn nur dieser Port muss exposed werden, die anderen werden nur intern genutzt. Habt ihr den Port geändert, nehmt also euren.

  • Laufen beide Container, geht zum Cryptpad Container und schaut dort in die Logs. Dort findet ihr einen Initialisierungslink. Damit erstellt ihr euren Cryptpad-Admin.

Docker Compose yaml. (Vorlage)

				
					services:
  cryptpad:
    image: cryptpad/cryptpad:version-2025.9.0
    container_name: cryptpad
    hostname: cryptpad

    environment:
      # Basis-URL des CryptPad-Servers
      - CPAD_MAIN_DOMAIN=https://<Hier kommt eure DOMAIN rein>
      - CPAD_SANDBOX_DOMAIN=https://<Hier kommt eure DOMAIN rein>

      # Pfad zur CryptPad-Konfigurationsdatei
      - CPAD_CONF=/cryptpad/config/config.js

      # OnlyOffice wird extern genutzt
      - CPAD_INSTALL_ONLYOFFICE=yes
      - CPAD_ONLYOFFICE_URL=http://onlyoffice:80

    ports:
      - "3004:3000"   # CryptPad Web
      - "3005:3003"   # Sandbox / interne Dienste

    volumes:
      # Persistente Daten für CryptPad
      - cryptpad-data:/cryptpad/data
      - cryptpad-blob:/cryptpad/blob
      - cryptpad-block:/cryptpad/block
      - cryptpad-files:/cryptpad/datastore
      - cryptpad-custom:/cryptpad/customize
      - cryptpad-config:/cryptpad/config

    security_opt:
      - seccomp:unconfined
    ulimits:
      nofile:
        soft: 65536
        hard: 65536

    restart: unless-stopped

  onlyoffice:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice
    hostname: onlyoffice
    environment:
      - JWT_ENABLED=false
    ports:
      - "8080:80"  # OnlyOffice Web Service

    restart: unless-stopped

volumes:
  cryptpad-data:
  cryptpad-blob:
  cryptpad-block:
  cryptpad-files:
  cryptpad-custom:
  cryptpad-config:
				
			

Pangolin

  • So sieht die Domain bei mir in Pangolin v.1.12.1 aus.

Quellen

Schreibe einen Kommentar