Hallo,
es ist möglich, dass von Nextcloud hier niemand regelmässig vorbeischaut. Ich würde daher empfehlen, Community-Feedback im Github-Repository abzugeben.
Beim Thema Datenverzeichnis sieht man, dass bei den Docker-Integrationen wesentlich mehr Aufwand nötig ist , eine funktional mit einer nativen Integration vergleichbare Lösung zu erhalten.Fürs erste wird man wohl damit leben müssen, dass /var/lib/univention-appcenter/apps/nextcloud/data/nextcloud-data bei Bedarf als ein Mountpoint oder Symlink einzurichten ist. Ansonsten landet halt alles in / auf dem Wirt.
UCS-spezifische Tutorials zum Thema Docker gibt m.E. zunächst nur für Entwickler und als Einstiegsinfo in der Wiki.
Den Rest kann man sich ableiten.
Kleiner Exkurs:
Wir wissen, dass wir auf Nextcloud via http/https zugreifen können.
root@ucs-9843:~# netstat -tulpen | egrep ":443|:80 "
tcp6 0 0 :::80 :::* LISTEN 0 14303 3859/apache2
tcp6 0 0 :::443 :::* LISTEN 0 14299 3859/apache2
Da ist nur der Apache selbst. Also muß irgendwo in dessen Konfiguration ein “/nextcloud” vergraben sein.
root@ucs-9843:/etc/apache2/sites-enabled# grep -R nextcloud *
000-default: ProxyPass /nextcloud http://127.0.0.1:40001/nextcloud retry=0
000-default: ProxyPassReverse /nextcloud http://127.0.0.1:40001/nextcloud
default-ssl: ProxyPass /nextcloud http://127.0.0.1:40001/nextcloud retry=0
default-ssl: ProxyPassReverse /nextcloud http://127.0.0.1:40001/nextcloud
Also suchen wir heraus, wer da auf 40001 lauscht:
root@ucs-9843:~# netstat -tlpn | grep 40001
tcp6 0 0 :::40001 :::* LISTEN 18699/docker-proxy
root@ucs-9843:~# ps -ef | grep docker-proxy | grep -v grep
root 18699 3312 0 01:09 ? 00:00:01 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 40001 -container-ip 172.17.0.1 -container-port 80
Der Proxy verbindet somit Port 80 vom Container mit Port 40001 vom Wirt. Auf den ersten Blick finde ich es nicht ganz so toll, dass man sich nicht auf 127.0.0.1 beschränkt. Bei Nextcloud kommt man aber bei direkter Ansprache des Proxyports wegen “‘overwriteprotocol’ => ‘https’” nicht weit. Aber das nur am Rande.
Den Rest muß man sich im Container ansehen.
root@ucs-9843:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3053791b58f7 nextcloud/univention-app-image:11.0.1-70 "/bin/sh -c /usr/sbi 11 hours ago Up 11 hours 0.0.0.0:40001->80/tcp sharp_pasteur
root@ucs-9843:~# docker exec -it sharp_pasteur /bin/bash
root@nextc-56421814:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
overlay 44977968 3568976 39064240 9% /
tmpfs 1026900 0 1026900 0% /dev
shm 65536 0 65536 0% /dev/shm
/dev/mapper/vg_ucs-root 44977968 3568976 39064240 9% /var/lib/univention-appcenter/apps/nextcloud/conf
root@nextc-56421814:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 00:09 ? 00:00:00 /bin/sh -c /usr/sbin/entrypoint.sh /usr/sbin/entrypoint.sh
root 13 1 0 00:09 ? 00:00:00 bash /usr/sbin/entrypoint.sh
root 25 1 0 00:09 ? 00:00:00 /usr/sbin/cron
root 26 13 0 00:09 ? 00:00:00 /bin/sh /usr/sbin/apache2ctl -D FOREGROUND
root 28 26 0 00:09 ? 00:00:02 /usr/sbin/apache2 -D FOREGROUND
www-data 29 28 0 00:09 ? 00:00:02 /usr/sbin/apache2 -D FOREGROUND
www-data 171 28 0 00:10 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 174 28 0 00:10 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 176 28 0 00:10 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 312 28 0 09:41 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 326 28 0 09:44 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 335 28 0 09:45 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 342 28 0 09:45 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 343 28 0 09:45 ? 00:00:01 /usr/sbin/apache2 -D FOREGROUND
www-data 365 28 0 09:56 ? 00:00:00 /usr/sbin/apache2 -D FOREGROUND
root 388 0 0 11:19 ? 00:00:00 /bin/bash
root 399 388 0 11:19 ? 00:00:00 ps -ef
root@nextc-56421814:/# cat /usr/sbin/entrypoint.sh
#!/usr/bin/env bash
service cron start && /usr/sbin/apache2ctl -D FOREGROUND
usw.
Viele Grüße,
Dirk Ahrnke