Zuerst erstellen wir einen neuen Installationsordner. Dieser kann frei gewählt werden, oder ihr nutzt schon eure vorhandene Ordnerstruktur.
In meine Fall erstelle ich eine neue Ordnerstruktur, in welche ich dann weitere Container installieren kann.
mkdir -p /docker/nextcloud
Hinweis:
-p dient dazu ganze Ordnerstrukturen an zu legen und eben nicht nur einen einzellnen Ordner.
Dann wechseln wir in das Verzeichnis und erstellen die docker-compose Datei:
cd /docker/nextcloud
nano docker-compose.yml
Kopiert nun folgenden Code in die Datei:
HTML
version: "3.8"
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer # This line is not allowed to be changed
services:
nextcloud:
image: nextcloud/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8188:8080
environment:
- APACHE_PORT=11000
- APACHE_DISABLE_REWRITE_IP=1
- NEXTCLOUD_TRUSTED_DOMAINS=aio-nextcloud.duckdns.org 192.168.178.192
- TRUSTED_PROXIES=192.168.178.159
Wichtig sind hier!
Ports:
Die linke Seite könnt ihr frei Wählen. Das ist der öffentliche Container Port über welchen anschließend der Container/Webinterface erreichabr ist. Dieser Port darf nicht bereits vergeben sein bzw. von einem anderen Container genutzt werden. Der rechte Port bitte nicht ändern. Das ist der interne Container Port!
NEXTCLOUD_TRUSTED_DOMAINS:
Hier tragt ihr eure Domain/DynDNS und die IP eures Server auf dem das ganze läuft ein. Die NextCloud wird nur Verbindungsanfragen über diese erlauben.
In meinem Fall ist die lokale IP meines Server: 192.168.178.192 und das ganze soll anschließend erreichbar sein über meine DynDNS Domain aio-nextcloud.duckdns.org
Soll die NextCloud auch aus dem Internet erreichbar sein, braucht ihr eine Domain/DynDNS und einen Revers Proxy. Als IP trag ihr die IP eures Proxys ein, damit NextCloud die akzeptiert und eben nicht blockt.
Da ich bei mir im Netzwerk eine zweite Docker Instanz laufen habe, auf welchem der Container NGINX Proxy Manager läuft, gebe ich die IP dieser Instanz an.
Ihr könnt euch den Proxa Manager auch direkt auf die selbe Instanz wie NextCloud installieren, dann ist bei euch die IP identisch mit der Server IP wie in NEXTCLOUD_TRUSTED_DOMAINS.
Bei mir wäre das stat 192.168.178.192 die IP auf welchem mein NGINX Proxy Manager läuft 192.168.178.159
Hallo Michael, danke für den Überblick, sehr hilfreich!
mein NGNX Proxy Manager läuft bei mir auf dem selben Server in einem anderen docker container. Dadurch hat das ganze die selbe lokale IP, aber einen anderen Port. Kann ich NEXTCLOUD_TRUSTED_DOMAINS auch den Port mit übergeben, sprich z.B. 192.168.178.192:1234
Hallo David,
Nein, das geht nicht (192.168.178.192:1234). Wenn NPM die selbe IP hat wie NextCloud ist das ja kein Problem.
Trage einfach bei NEXTCLOUD_TRUSTED_DOMAINS und TRUSTED_PROXYS die selbe IP ein. Die korrekte Zuweisung erfolgt ja dann in NPM auf Port 11000 oder einen Port deiner Wahl. Dieser darf halt nicht bereits in Benutzung sein.
Hallo Michael,
mich würde interessieren, warum du Portainer erst nach der Nextcloud installierst. Und nicht Nextcloud über die Stack-Funktion von Portainer installierst.
ich beschreibe hier den offiziellen Installationspfad wie es NextCloud selber vorgibt.
Portainer ist hier optional, damit ich eine GUI für die Containerüberwachung habe, bzw. wenn ich neben NextCloud eventuell weitere Container laufen lassen möchte.
NextCloud AIO wird ja dann auch nicht über Portainer gepflegt/updatet, sondern direkt aus NextCloud selber, mit einem eigenen Backend.
Hallo Michael, danke für den Überblick, sehr hilfreich!
mein NGNX Proxy Manager läuft bei mir auf dem selben Server in einem anderen docker container. Dadurch hat das ganze die selbe lokale IP, aber einen anderen Port. Kann ich NEXTCLOUD_TRUSTED_DOMAINS auch den Port mit übergeben, sprich z.B. 192.168.178.192:1234
Hallo David,
Nein, das geht nicht (192.168.178.192:1234). Wenn NPM die selbe IP hat wie NextCloud ist das ja kein Problem.
Trage einfach bei NEXTCLOUD_TRUSTED_DOMAINS und TRUSTED_PROXYS die selbe IP ein. Die korrekte Zuweisung erfolgt ja dann in NPM auf Port 11000 oder einen Port deiner Wahl. Dieser darf halt nicht bereits in Benutzung sein.
Hallo Michael,
mich würde interessieren, warum du Portainer erst nach der Nextcloud installierst. Und nicht Nextcloud über die Stack-Funktion von Portainer installierst.
Viele Grüße,
Björn
Hallo Björn,
ich beschreibe hier den offiziellen Installationspfad wie es NextCloud selber vorgibt.
Portainer ist hier optional, damit ich eine GUI für die Containerüberwachung habe, bzw. wenn ich neben NextCloud eventuell weitere Container laufen lassen möchte.
NextCloud AIO wird ja dann auch nicht über Portainer gepflegt/updatet, sondern direkt aus NextCloud selber, mit einem eigenen Backend.
Gruß
Michael