Zum Inhalt springen

Nextcloud/AIO/Installation: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
 
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
; Docker
=== Voraussetzungen ===
Voraussetzung für ''Nextcloud All In One'' ist eine funktionierende [[Docker/Installation#Standard_Debian_Installation|Docker-Installation]]
; Docker-Installation
 
* Funktionierende [[Docker/Installation#Standard_Debian_Installation|Docker-Installation]]
== Installation ==
* Für die Arbeit mit Nextcloud AIO müssen die [[Docker/Installation#Installation_aus_dem_Debian-Repository|Docker-Pakete installiert]] sein


=== Vorbereitung ===
=== Vorbereitung ===
[[Redis]] erfordert die Aktivierung der Kernel-Funktion vm.overcommit_memory


Redis erfordert die Aktivierung der Kernel-Funktion vm.overcommit_memory.
; /etc/sysctl.d/99-override.conf
* Dazu muss die Datei ''/etc/sysctl.d/99-override.conf'' mit folgendem Inhalt erstellt werden:
 
<syntaxhighlight lang="ini" highlight="" copy line>
<syntaxhighlight lang="ini" highlight="" copy line>
vm.overcommit_memory=1
vm.overcommit_memory=1
</syntaxhighlight>
</syntaxhighlight>


Änderungen übernehmen:
; Änderungen übernehmen
<syntaxhighlight lang="bash" highlight="1" copy line>
<syntaxhighlight lang="bash" highlight="1" copy line>
sudo sysctl --system
sudo sysctl --system
</syntaxhighlight>
</syntaxhighlight>


 
== Nextcloud Docker ==
=== Nextcloud Docker ===
 
; Docker-Installation
Für die Arbeit mit Nextcloud AIO müssen die [[Docker/Installation#Installation_aus_dem_Debian-Repository|Docker-Pakete installiert]] sein
 
; Nextcloud in Docker laden und starten
; Nextcloud in Docker laden und starten
<syntaxhighlight lang="bash" highlight="1" copy line>
<syntaxhighlight lang="bash" highlight="1" copy line>
Zeile 53: Zeile 47:
# Bindet den Docker-Daemon-Socket des Hosts im Container ein (read-only). Erlaubt dem AIO-Mastercontainer, über die Docker-API Host-Container zu erstellen/stoppen/konfigurieren. :ro verhindert das Modifizieren/Ersetzen der Socket-Datei, begrenzt jedoch nicht die API-Berechtigungen.
# Bindet den Docker-Daemon-Socket des Hosts im Container ein (read-only). Erlaubt dem AIO-Mastercontainer, über die Docker-API Host-Container zu erstellen/stoppen/konfigurieren. :ro verhindert das Modifizieren/Ersetzen der Socket-Datei, begrenzt jedoch nicht die API-Berechtigungen.
# Image-Referenz inkl. Tag. ''latest'' verwendet den jeweils neuesten Build
# Image-Referenz inkl. Tag. ''latest'' verwendet den jeweils neuesten Build
=== AIO-Oberfläche ===
Als Nächstes kann die AIO-Oberfläche unter https://localhost:8080 oder https://<ip-address>:8080 geöffnet werden
; Warum eine IP-Adresse verwendet werden sollte
: Beim Zugriff auf diesen Port sollte stets eine IP-Adresse und keine Domain verwendet werden. Andernfalls besteht das Risiko, dass HSTS den Zugriff später blockiert!
3.&nbsp;Das selbstsignierte Zertifikat muss akzeptiert werden. Anschließend sollte Folgendes angezeigt werden:
[[Datei:Aiosetup0.webp|600px|zentriert]]
: Alternativ, wenn die Ports 80 und 8443 in der Firewall/im Router geöffnet sind und eine Domain auf den Server zeigt, kann die AIO-Oberfläche mit gültigem Zertifikat über https://your-domain.com:8443 erreicht werden.
4.&nbsp;''Open Nextcloud AIO login'' anklicken und das Passwort einfügen:
[[Datei:Aiosetup1.webp|600px|zentriert]]
5.&nbsp;Anschließend sollte die AIO-Oberfläche angezeigt werden:
[[Datei:Aiosetup2.webp|600px|zentriert]]
6.&nbsp;Als Nächstes die zuvor ermittelte öffentliche Domain eingeben. Die Oberfläche hilft bei den konkreten Schritten. (DDNS für die Domain einrichten, sodass sie auf die öffentliche IP zeigt. Mindestens die Ports 443/tcp, 3478/udp und 3478/tcp zur Linux-Maschine weiterleiten.)
7.&nbsp;Nach korrekter Einrichtung sollte der nächste Schritt verfügbar sein: gewünschte optionale Add-ons und die Zeitzone konfigurieren und ''Start containers'' anklicken, um sie herunterzuladen und zu starten.
[[Datei:Aiosetup3.webp|600px|zentriert]]
8.&nbsp;An dieser Stelle wird ein Ladeindikator angezeigt. Die Dauer hängt von der Internetgeschwindigkeit ab und beträgt typischerweise etwa 10 Minuten oder mehr.
[[Datei:Aiosetup4.webp|600px|zentriert]]
9.&nbsp;Sind alle Container heruntergeladen und gestartet, erscheint dieser Bildschirm mit noch startenden Containern. Die Erstinstallation wird automatisch durchgeführt:
[[Datei:Aiosetup5.webp|600px|zentriert]]
10.&nbsp;Nach Abschluss sollte folgender Bildschirm erscheinen:
[[Datei:Aiosetup6.webp|600px|zentriert]]
11.&nbsp;Abschließend kann die neue Nextcloud-Instanz geöffnet und mit den bereitgestellten Admin-Zugangsdaten angemeldet werden.
12.&nbsp;Fertig: Die Umgebung ist eingerichtet und produktionsbereit.
== Management ==
; Verwaltung
{|
|-
| AIO-Webpanel ||
|-
| Docker || Verwaltung von Containern über das Webpanel oder die Docker-CLI
|-
| Nextcloud OCC ||
|}
=== AIO-Weboberfläche ===
Der Master-Container stellt eine Web-Administrationsoberfläche auf Port 8080 bereit.
https://<host_IP>:8080
Über die Oberfläche stehen Konfiguration, Start/Stop der Dienste, Updates und Backups zur Verfügung.
Für den Zugriff ist eine Anmeldung erforderlich.
Danach ist der Zugriff entweder direkt über Port 8080 oder über ''Settings'' > ''Overview'' > ''Open Nextcloud AIO Interface'' möglich.
=== Datenzugriff ===
; Volumes anzeigen
docker volume ls | grep nextcloud_aio
=== Container ===
==== list ====
Alle AIO-Container anzeigen
<syntaxhighlight lang="bash" highlight="1" copy line>
docker ps -a --filter "name=nextcloud-aio"
</syntaxhighlight>
==== start ====
Nur den Master-Container starten (weitere Container werden über die Oberfläche gestartet)
<syntaxhighlight lang="bash" highlight="1" copy line>
docker start nextcloud-aio-mastercontainer
</syntaxhighlight>
==== stop ====
Falls ein Stopp über die Oberfläche nicht möglich ist, können die Container per CLI gestoppt werden
<syntaxhighlight lang="bash" highlight="1" copy line>
docker ps -a --filter "name=nextcloud-aio"
</syntaxhighlight>
<syntaxhighlight lang="bash" highlight="1" copy line>
docker stop <id>
</syntaxhighlight>
==== pause ====
Container können mit dem Befehl docker pause angehalten werden. Auf diese Weise werden die Prozesse innerhalb des Containers eingefroren.
<syntaxhighlight lang="bash" highlight="1" copy line>
docker pause <id>
</syntaxhighlight>
==== logs ====
Zustand prüfen
<syntaxhighlight lang="bash" highlight="1" copy line>
docker logs -f nextcloud-aio-nextcloud
</syntaxhighlight>
=== OCC ===
Zur Verwaltung von Nextcloud kann auch occ verwendet werden
<syntaxhighlight lang="bash" highlight="1" copy line>
docker exec -u www-data -it nextcloud-aio-nextcloud php occ <Befehl>
</syntaxhighlight>
Hauptartikel: [[Nextcloud/occ|occ]]
=== Apache-Konfiguration in Nextcloud AIO ändern ===
* Apache läuft in ''nextcloud-aio-apache'' und wird vom Master-Container verwaltet.
* Manuelle Änderungen innerhalb des Containers sind nicht persistent.
* Anpassungen erfolgen über Umgebungsvariablen des Master-Containers bzw. vorlagerte Reverse-Proxys.
==== Vorgehen ====
# In der Definition des Master-Containers erforderliche Umgebungsvariablen setzen
# Über die AIO-Oberfläche Stop containers ausführen
# Master-Container mit den neuen Variablen neu erstellen/neu starten ''docker compose up -d'' bzw. ''docker run''
# Container in der AIO-Oberfläche wieder starten
==== Parameter  ====
{| class="wikitable options big"
|-
! Parameter !! Beschreibung !! Beispiel
|-
| APACHE_PORT || Interner HTTP-Port des Apache-Containers (für Reverse-Proxy-Betrieb) || 11000
|-
| APACHE_IP_BINDING || IP, an die Apache bindet (z. B. nur Loopback oder alle Interfaces) || 127.0.0.1 / 0.0.0.0
|-
| PHP_UPLOAD_LIMIT || Max. Upload-Größe für PHP/Apache || 20G
|-
| NEXTCLOUD_MAX_TIME || PHP-/Webserver-Timeout (Sekunden) für lange Uploads || 3600
|-
| NEXTCLOUD_MEMORY_LIMIT || PHP-Speicherlimit pro Prozess || 1024M
|-
| APACHE_ADDITIONAL_NETWORK || Zusätzlichem Docker-Netz das Apache-Service hinzufügen (bei externem Proxy im anderen Netz) || frontend_net
|}
==== Hinweise ====
* Bei Bindings and Port Änderungen Neustart des Apache-Containers über den Master-Container sicherstellen
:* Container aus AIO stoppenMaster neu starten
:* Container neu erzeugen
<syntaxhighlight lang="yaml">
services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    init: true
    restart: always
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 8080:8080
    environment:
      - SKIP_DOMAIN_VALIDATION=true
      - APACHE_PORT=11000
      - APACHE_IP_BINDING=0.0.0.0
      - NEXTCLOUD_DATADIR=/mnt/data/nextcloud
      - NEXTCLOUD_MOUNT=/mnt/data
volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer
</syntaxhighlight>


== Anhang ==
== Anhang ==
Zeile 219: Zeile 53:
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
</div>
----
* [[Nextcloud/AIO/Backend]]
----
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
Zeile 234: Zeile 70:
==== Weblinks ====
==== Weblinks ====


 
[[Kategorie:Nextcloud/AIO]]
[[Kategorie:Nextcloud/Installation]]
[[Kategorie:Nextcloud/Installation]]
[[Kategorie:Docker]]
[[Kategorie:Docker]]


</noinclude>
</noinclude>

Aktuelle Version vom 1. Januar 2026, 11:36 Uhr

Nextcloud/Installation/AIO - Nextcloud All In One Installation

Beschreibung

Voraussetzungen

Docker-Installation

Vorbereitung

Redis erfordert die Aktivierung der Kernel-Funktion vm.overcommit_memory

/etc/sysctl.d/99-override.conf
vm.overcommit_memory=1
Änderungen übernehmen
sudo sysctl --system

Nextcloud Docker

Nextcloud in Docker laden und starten
sudo docker run \
  --sig-proxy=false \
  --name nextcloud-aio-mastercontainer \
  --restart always \
  --publish 80:80 \
  --publish 8080:8080 \
  --publish 8443:8443 \
  --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
  --volume /var/run/docker.sock:/var/run/docker.sock:ro \
  ghcr.io/nextcloud-releases/all-in-one:latest
Beschreibung
  1. Startet einen neuen Container aus einem Image
  2. Deaktiviert die Weiterleitung von Signalen (z. B. SIGINT/SIGTERM) vom Docker-Client an PID 1 im Container
  3. Vergibt einen eindeutigen Containernamen zur späteren Referenz
  4. Aktiviert die Neustart-Richtlinie „always“: Container wird nach Absturz oder Daemon-Neustart automatisch neu gestartet außer nach manuellem docker stop
  5. Container: 80/TCP --> Host: 80/TCP
  6. Container: 8080/TCP --> Host: 8080/TCP
  7. Container: 8443/TCP --> Host: 8443/TCP
  8. Bindet ein benanntes Volume ein. Persistiert Konfiguration unter /mnt/docker-aio-config im Container. Volume wird automatisch erstellt, falls nicht vorhanden.
  9. Bindet den Docker-Daemon-Socket des Hosts im Container ein (read-only). Erlaubt dem AIO-Mastercontainer, über die Docker-API Host-Container zu erstellen/stoppen/konfigurieren. :ro verhindert das Modifizieren/Ersetzen der Socket-Datei, begrenzt jedoch nicht die API-Berechtigungen.
  10. Image-Referenz inkl. Tag. latest verwendet den jeweils neuesten Build

Anhang

Siehe auch




Dokumentation

Links

Projekt

Weblinks