Docker NextCloud

Container Elastic Search
# Aktueller TAG siehe Dockerhub

# Start Datenbank Container
# Container
docker run -d --restart=always --name nextcloud-myodoo \
    -p 127.0.0.1:8888:80 \
    -v /opt/nextcloud-myodoo:/var/www/html \
    -v /opt/nextcloud-myodoo/apps:/var/www/html/custom_apps \
    -v /opt/nextcloud-myodoo/config:/var/www/html/config \
    -v /opt/nextcloud-myodoo/data:/var/www/html/data \
    nextcloud:TAG
 
# Zu sichern neben Datenbank nextcloud
/opt/nextcloud-myodoo

# Zugriff 
http://localhost:8888 

# Alte Version löschen
docker ps -a # Auflistung Container
docker stop nextcloud-myodoo # Container stoppen
docker rm nextcloud-myodoo # Container löschen
rm -rf /opt/nextcloud-myodoo
docker images # Auflistung Images
docker rmi IMAGEID # Image löschen


Einbindung der NextCloud als iFrame

In der Standardkonfiguration von NextCloud wird das Einbinden der Seiten per iFrame unterbunden.
Um dies serverseitig zu ermöglichen müssen folgende Schritte vorgenommen werden: (Beispiel in der Entwicklungsumgebung)

  1. Console öffnen und als superuser einloggen

    Zum Superuser wechseln
    $ su
    

    oder den Midnightcommander direkt mit erweiterten Rechten öffnen (je nach System)

    Midnightcommander öffnen
    $ sudo mc
  2. in folgenden Ordner navigieren
    opt/nextcloud-myodoo/lib/private/legacy
    (Ordner nextcloud-myodoo entspricht Ihrem Installationspfad)
  3. Öffnen Sie den Midnight-Commanter (Falls nicht schon passiert)

    Midnightcommander öffnen
    $ mc
    oder
    $ nano /opt/nextcloud-myodoo/lib/private/legacy/response.php
    oder
    $ sed -i -e "s+header('X-Frame-Options: SAMEORIGIN');+//header('X-Frame-Options: SAMEORIGIN');+g" /opt/nextcloud-myodoo/lib/private/legacy/response.php
  4. Vergewissern Sie sich das Sie im MidnightCommander im Ordner legacy befinden.
  5. Editieren Sie die Datei response.php (normalerweise mit F4)
  6. Suchen Sie den Eintrag header('X-Frame-Options: SAMEORIGIN'); und kommentieren Sie ihn aus, so z.B.:

  7. Datei schließen (mit Strg + X) und den Speichern Dialog mit Y bestätigen.
  8. Midnightcommanter verlassen (normalerweise F10)
  9. Nun muss der Nextcloud-Dockercontainer gestoppt und gestartet werden:

    Docker stoppen und starten
    $ docker stop nextcloud-myodoo
    
    $ docker start nextcloud-myodoo
    
  10. iFrames aus dem NextcloudContainer sollten nun die URL korrekt auflösen und anzeigen können.
    Ein Beispiel für eine iFrame Anbindung mit lokalem Nextcloud-Pfad wäre wie folgt:

    iFrame Beispiel
    <iframe src="http://localhost:8888/index.php/apps/files/?dir=/ERP/Kunden%20%2B%20Lieferanten/B/B%C3%A4cker123/Dokumente/2018" style="height: 600px; width: 100%; border-width:2px;"></iframe>