Hallo zusammen,
ich habe das Forum gründlich durchsucht, doch die Beiträge, die ich gefunden habe, haben leider entweder deutlich hinter meinem Problem begonnen (ich kam also nicht so weit) oder sind anders von der Ursache. Ich hoffe, Ihr könnt mir helfen, denn nach 2 Monaten (ja, ich versuche es seit Ende Dezember) schaffe ich es nicht, mein Nextcloud so zum laufen zu bekommen, wie ich es möchte.
Einfach gesagt, ich möchte “nur” ein Nextcloud auf meinem Raspberry Pi 5 (in OMV7 bzw. dessen Docker) installiert bekommen. Der Raspi betreibt wiederum mittels eines 4-fach Raid Controllers einen Raid5 Verbund mit 4 SSDs. Gleich zum Verständnis: OMV läuft, die SSDs werden erkannt, OMV Extras sind installiert. Ordner sind angelegt. Jetzt kommt glaube ich eine Yaml mit Nextcloud drauf und ich wäre (mehr oder weniger) fertig, richtig?
Klingt für Euch einfach? Gut, hier sind meine genauen Anforderungen:
-
Der Ordner in dem sämtliche Dateien abgelegt werden sollen, soll logischerweise auf dem Raid 5 liegen (Nennen wir den Ordner der Einfachheit halber Elumpant, er hat folgende Adresse: /srv/dev-disk-by-uuid-37a85f30-b4aa-4fbd-8b0f-21bc218fcd4d/Elumpant/).
-
Ich möchte Außerdem MariaDB als Datenbank verwenden (ist glaub ich auch nicht ungewöhnlich)
-
Ich möchte eine SSL Verbindung, keine ungesicherte http Verbindung auf meinen Raspi, wenn ich von außen zugreife.
-
Soweit ich weiß, nutzt man ein MacVLAN dazu? Dann wäre die Adresse meines Raspberries im Heimnetz 192.168.178.54 und die gewünschte Adresse des MacVLANs bzw. der Nextcloud 192.168.178.205
-
Ich habe eine DuckDNS Weiterleitung eingerichtet (Nennen wir sie einfach Elumpant.duckdns.org, Token ist natürlich auch vorhanden.)
-
Mein Heimnetz wird von einer Fritzbox der 65er Serie beherrscht (192.168.178.1). Daran angeschlossen ist ein piHole mit Standardkonfiguration (nur falls das eine Rolle für die Portfreigabe spielt oder ähnliches. Dieser hört auf die IP 192.168.178.34)
-
Bei der Portfreigabe für 80 und 443 in der Fritzbox werde ich schon unsicher: Muss ich den Raspi (192.168.178.54) dafür nehmen oder das MacVLAN/Nextcloud (192.168.178.205). Gleich zum Verständnis: Wenn jemand über HTTP von unterwegs zugreift, soll er automatisch auf den HTTPS Port umgeleitet werden.
-
irgendwo habe ich dann auch noch versucht, mit Certbot Zertifikate zu erstellen.
-
Bis zu dem folgenden Punkt kam ich nie, vermutlich ist er am leichtesten einzurichten: Später sollen sich meine Mobilgeräte über die Nextcloud App automatisch mit meinem Raspi synchronisieren. Also wenn ich beispielsweise ein Foto auf Bali schieße, soll das sobald ich wieder im Hotel-WLAN bin automatisch auf meinen Raspi synchronisiert werden. Zusätzlich soll dieser übergeordnete Nextcloud Ordner im Heimnetz verfügbar sein.
-
Ich bin nicht sehr gut mit dem Terminal (schon eher ein ziemlicher Noob), hier ein Beispiel, wie ich meine Yaml (mit viel googeln und/oder ChatGPT) gestaltet habe (Passwörter und meine eigentliche duckdns Adresse habe ich aus Datenschutzgründen durch Platzhalter ersetzt):
services:
db:
image: mariadb:10.6
container_name: nextcloud-mariadb
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
restart: always
volumes:
- /srv/dev-disk-by-uuid-37a85f30-b4aa-4fbd-8b0f-21bc218fcd4d/Elumpant/nextcloud-db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud_db_root_password
- MYSQL_PASSWORD=nextcloud_db_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks:
- nextcloud_network
app:
image: nextcloud:latest
container_name: nextcloud-app
restart: always
depends_on:
- db
volumes:
- /srv/dev-disk-by-uuid-37a85f30-b4aa-4fbd-8b0f-21bc218fcd4d/Elumpant/nextcloud:/var/www/html
environment:
- MYSQL_ROOT_PASSWORD=nextcloud_db_root_password
- MYSQL_PASSWORD=nextcloud_db_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_ADMIN_PASSWORD=secure_admin_password
- NEXTCLOUD_TRUSTED_DOMAINS=192.168.178.54 elumpant.duckdns.org
- OVERWRITEPROTOCOL=https
networks:
nextcloud_network:
nextcloud_macvlan:
ipv4_address: 192.168.178.205
proxy:
image: nginx:alpine
container_name: nextcloud-proxy
restart: always
ports:
- 8080:80
- 8443:443
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/nginx/ssl
- /srv/dev-disk-by-uuid-37a85f30-b4aa-4fbd-8b0f-21bc218fcd4d/Elumpant/nextcloud:/var/www/html
depends_on:
- app
networks:
- nextcloud_network
networks:
nextcloud_network:
driver: bridge
nextcloud_macvlan:
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.168.178.0/24
gateway: 192.168.178.1
ip_range: 192.168.178.205/32
Was schief ging? Also ich habe in den letzten 2,5 Monaten (!!!) alle möglichen Variationen der Yaml versucht. Einmal hatte ich es sogar fast geschafft - nur konnte ich in diesem Fall nur über das Internet auf meine Nextcloud kommen, wenn ich dies über den Browser (nicht die App) versucht habe und die Seite neu geladen habe. Irgendein Problem mit der Portweiterleitung.
Andere Fehler waren: “Too many redirections”, “Server unavailable”, kurz gesagt, entweder gab es meistens ein Problem mit der Portweiterleitung und wenn das nicht war, war der Server gar nicht zu erreichen. Ich habe angefangen, die Fehler mit ChatGPT zu besprechen, doch dieser hatte 100 Vorschläge, aber keinen der funktionert hat.
Sorry, das war ziemlich viel Text. Nun ganz einfach meine Fragen:
-
Denke ich zu kompliziert? Gibt es evtl eine Nextcloud-Standardkonfiguration, bei der ohnehin SSL läuft? Eigentlich sind meine Wünsche doch gar nicht so exotisch, oder?
-
Kann mir jemand helfen, meine Nextcloud Yaml zu gestalten? Es wäre großartig, wenn Ihr mir eine posten könntet, bei der ich nur noch meine Festplattenadresse angeben muss, die Passwörter und die DuckDNS Adresse einfüge und ein funktionierendes Nextcloud habe.
Schon einmal vielen Dank für Eure Unterstützung!
Jo