Nextcloud:

h00bi schrieb:
Wie gesagt, mein Tipp ist Nextcloud AiO über Docker. Du wirst etliche andere Varianten über Docker finden.
Hallo h00BI

Entschuldige bitte, die verzögerte Antwort.
Diese Installationsanleitung enthält für die Container Installation diesen Befehl:

Der führt zu einem Fehler:

Code:
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 \
nextcloud/all-in-one:latest
Unable to find image 'nextcloud/all-in-one:latest' locally
latest: Pulling from nextcloud/all-in-one
da9db072f522: Pull complete 
d785fab7b970: Pull complete 
f08b6373c5b1: Pull complete 
5127f2cf93ae: Pull complete 
babee3bd65d0: Pull complete 
630ada844ef8: Pull complete 
8dbc1f4e64ac: Pull complete 
6e1d1966d9e8: Pull complete 
3a1e7be247a6: Pull complete 
4f4fb700ef54: Pull complete 
cdb948a29649: Pull complete 
072604351108: Pull complete 
b75a33fd2317: Pull complete 
5e0ef3504d61: Pull complete 
19dbae9a5464: Pull complete 
20427e8c3c51: Pull complete 
40dccb8a452d: Pull complete 
83d377772a17: Pull complete 
513f69000d9d: Pull complete 
Digest: sha256:7be98be5a8ce325ac741a83c8dbe19ec568f314458038add854fd3e1004aeea7
Status: Downloaded newer image for nextcloud/all-in-one:latest
docker: Error response from daemon: driver failed programming external connectivity on endpoint nextcloud-aio-mastercontainer (8bf1cc3a51406801d54a878433f37cb233773262f156d56d692cb2f768d0955b): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.
uli@achat:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 68:1d:ef:33:d8:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.134/24 brd 192.168.5.255 scope global dynamic noprefixroute enp1s0
       valid_lft 85502sec preferred_lft 85502sec
    inet6 fe80::916e:9f99:7919:f479/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 68:1d:ef:33:d8:9a brd ff:ff:ff:ff:ff:ff
4: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 40:9c:a7:16:c1:b3 brd ff:ff:ff:ff:ff:ff
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:51:13:e7:6a brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:51ff:fe13:e76a/64 scope link 
       valid_lft forever preferred_lft forever


Grüsse
 
Zuletzt bearbeitet:
@Piktogramm: Hat auch niemand gesagt, dass blindlinks irgendwelche Skripte ausgeführt werden. Man könnte ja auch das manuelle dokumentierte Script verwenden… . Stumpf die oben verlinkte Anleitung von IONOS zu befolgen, die auch noch veraltet ist, ist wohl kaum besser. Ebensowenig irgendwelche Anleitungen zu Containern vorzuschlagen.

Und, Tatsache ist, dass ohne Erfahrung wohl kaum ein Webserver vernünftig und sicher administriert werden kann.
 
Zuletzt bearbeitet:
ral9004 schrieb:
Der führt zu einem Fehler:
Hast du das grade eben nochmal editiert? Edit: ach da steht's ja, editiert von 5min

So wie es jetzt da steht ist es ein bind Fehler, also du verwendest einen der ports schon für was anderes.
 
Code:
docker: Error response from daemon: driver failed programming external connectivity on endpoint nextcloud-aio-mastercontainer (8bf1cc3a51406801d54a878433f37cb233773262f156d56d692cb2f768d0955b): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.

Ne, in der Zeile wo etwas von Error steht dröselt es die Fehler auf und die Wurzel des Übels ist, dass bind fehlschlägt, da irgend ein Dienst bereits auf Port 80 lauscht. sudo lsof -i tcp:80 sollte den entsprechenden Prozess finden.
 
  • Gefällt mir
Reaktionen: ral9004
Piktogramm schrieb:
Ne, in der Zeile wo etwas von Error steht dröselt es die Fehler auf und die Wurzel des Übels ist, dass bind fehlschlägt, da irgend ein Dienst bereits auf Port 80 lauscht. sudo lsof -i tcp:80 sollte den entsprechenden Prozess finden.
Danke für den Hinweis zum Stichwort "Error"
Das ist die Zeile 34 und natürlich ist es ein Bind Problem

Code:
docker: Error response from daemon: driver failed programming external connectivity on endpoint nextcloud-aio-mastercontainer (8bf1cc3a51406801d54a878433f37cb233773262f156d56d692cb2f768d0955b): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.

Das hängt mit dem ersten Versuch nach der Anleitung IONOS zusammen. Apache2 und PHP 8.2 deinstallier.

Erneuter Versuch mit dem AIO Install Skript. Fehler

Code:
docker: Error response from daemon: Conflict. The container name "/nextcloud-aio-mastercontainer" is already in use by container "8c2a28640a87a6fc0fe99d6c028cee4231fb464b7cce996a2cfefafdfaa9f631". You have to remove (or rename) that container to be able to reuse that name.

Das ist klar. Die Installation im ersten Anlauf war gelugen. Jedoch der Port von Apache2 blockiert.
"lsof ..." zeigt auch keine Applikation mehr an, die den Port 80 bzw. 8080 belegt.
IMO muss ich jetzt also den Docker Container AIO starten. Um es mir einfacher zu machen, suchte ich nach einer Applikation auf meinem Linux. Keine gefunden. In der Anwendungsverwaltung hat es dutzende von Applikationen die man installieren kann.

Auf der Docker Website steht, man solle "Docker Desktop" verwenden. Diesen gibt es nur für Gnome.

For non-Gnome Desktop environments, gnome-terminal must be installed:
Code:
sudo apt install gnome-terminal
Ich arbeite aktuell auf einem LMDE mit cinnamon. Soll ich der Anleitung folgen?
Oder ist nicht "Best Pratice"?

Nochmals 20 Min investiert und eine Lösung über CLI gesucht. Manpage von Docker aufgerufen. Ohne Resultat
Code:
$ docker load --help

Usage:  docker load [OPTIONS]

Load an image from a tar archive or STDIN

Options:
  -i, --input string   Read from tar archive file, instead of STDIN
  -q, --quiet          Suppress the load output

Ein TAR File des AIO Containers finde ich nicht. Wie ich den Stream über STDIN definieren soll, erschliesst sich mir aktuell nicht.

Ob ich jemals den Tag erlebe, wo unter Linux etwas leicht und schnell funktioniert? Ohne WE und Urlaub dafür zu investieren?
Lernen und Verstehen machen Spass. Aber manchmal will man Resultate erzielen. Speziell bei so grundlegenden und elementaren Zielen...

Grüsse
 
Zuletzt bearbeitet:
Also nach nur wenigen Jahren gegenseitiger Gewöhnung klappt Linux super :).
Wenn einem Grundlagen fehlen, bzw. die Grundlagen von einem anderem Betriebssystem verinnerlicht sind ist das ganze aber wirklich schmerzhaft. Wobei du dann dem Fehler erliegst, dir aus verschiedenen Anleitungen Informationen ziehen zu wollen, was aber zwangsweise schief geht. Sich Versatzstücke zusammenziehen zu können und halbwegs das "Wieso macht das die eine Anleitung so und die andere Anleitung anders" herleiten zu können braucht Wissen und Erfahrung. Du bist aber auf einem gutem Weg, wenn du dir manpages durchliest!

Zum Docker Install, die Anleitung die du bei Nextcloud gefunden hast: https://nextcloud.com/de/blog/how-to-install-the-nextcloud-all-in-one-on-linux/

Der Link unter Schritt 1 zeigt auf https://docs.docker.com/engine/install/debian/ und damit auf die Installation auf die Docker ENGINE und nicht Desktop. Ich würde dir von der Desktopanwendung abraten, so sehr eine GUI als Neuling verlockend ist, das ist eine zusätzliche Abstraktionsebene, die das Ganze meist nicht einfacher werden lässt.
Und ja, du kannst dieser Anleitung folgen, aber ich würde versuche immer zu aller erst zu suchen was die eigene Distribution bereitstellt. Bei Debian und dessen Familie (Ubuntu, Mint, ..) also:
apt search docker
Da findet sich das Paket docker.io und das ist die Dockerumgebung die wir wollen. Es folgt also ein apt installer docker.io. Der große Vorteil ist an der Stelle, dass alles aus den Paketquellen auch gleich bei den Updatefunktionen der Distributionen enthalten ist und bei den Paketen aus den Repos etwaige Inkompatibilitäten minimal sein sollten. Da du fragst, das würde ich als Best Practice bezeichnen, für alle die nicht von sich aus erklären können, wieso sie sie davon abweichen.

Der 3. Schritt ist dann das "docker run" direkt vom docker Containerhub zu lasen. Das ist bei deinem letzten Versuch aber fehlgeschlagen, da du diese Installation ja bereits ausgeführt hast, da ist nur final das "bind" fehlgeschlagen. Das kann man händig korrigieren, in Fällen wo aber keine Nutzdaten verloren gehen wäre es mir die Zeit nicht wert. Also docker rm 8c2a28640a87a6fc0fe99d6c028cee4231fb464b7cce996a2cfefafdfaa9f631 und damit eben jenen docker Container löschen, der laut Fehlermeldung ja bereits auf deinem System liegt und daher die erneute Installation blockiert. Danach nochmal die Installation mit docker run anstoßen.

Die Fehlermeldung ist da ja auch wieder recht eindeutig. In der Zeile wo Error steht, steht eben auch, dass ein Konflikt bei der erneuten Installation besteht, da du bereits eine Container hast, der den Namen "nextcloud-aio-mastercontainer" trägt und der bestehende container die ID 8c2a... trägt.

Fehler Meldungen lesen! ;)

############################
Ab hier ist Zusatz, ich rate es ab es so zu machen, solange Dockerimages auf dem zentralem Dockerhub liegen würde ich die Images von da ziehen, außer ich kann begründen, wieso ich davon abweiche. "Ich will lernen und es ist NICHT mein Produktivsystem" ist eine gute Begründung :).

Angenommen du hast auf einem System bereits ein Container mit Namen "MeinWahl" laufen. Dann könntest du docker save -o MeinWahl.image MeinWahl ausführen um diesen Container in der Datei MeinWahl.image zu speichern. Ein docker load < MeinWahl.image auf einem anderen System könnte das Image dann laden. Wobei "<" besagt: Nimm MeinWahl.image und wirf es in den STDIN vom Programm docker. Das nennt sich Aus- bzw. Eingabeumleitung und ist zusammen mit Pipes einfach geiler Scheiß, der am Anfang etwas Kopfschmerzen verursacht.

Und an sich sollte man vom Docker Containerhub Images extrahieren können, das hat die Firma hinter Docker aber etwas verbaut, ist PITA.
Ergänzung ()

ral9004 schrieb:
en und Verstehen machen Spass. Aber manchmal will man Resultate erzielen. Speziell bei so grundlegenden und elementaren Zielen...
Meine Wortwahl sieht anders aus, wenn ich vor Windowskisten sitze, der Tenor ist aber annähernd dieser :D
 
Zuletzt bearbeitet:
Hallo Piktogram

Danke für die sorgfältig formulierte und durchdachte Antwort.
Gehen wir die Anklagepunkte einzeln durch

A Verschiedene Anleitungen benutzen
Ich habe zuerst die Anleitung von IONOS verwendet. Danach wurde mir hier mitgeteilt, dass
A1: die Anleitung veraltet ist A2: Debian die aktuelle PHP Version nicht unterstützt. D.h. das Verdikt war: falsche Anleitung.

Danach habe ich auf Empfehlung des Forums die Docker Lösung "NextCloud All-In-One" verwendet. Keine weitere. Als sich ein Konflikt mit den Paketen aus der ersten Anleitung (Port 80) ergaben, habe ich diese entfernt.

Somit ergibt sich, dass stets nur eine Anleitung verwendet habe. Darüber hinaus habe ich selbständig Kollateralschäden der ersten Anleitung entfernt.

Der Vorwurf wird also zurück gewiesen :-)

B sudo apt installer docker.io
"Es folgt also ein apt installer docker.io." ist syntaktisch falsch. Wahrscheinlich ein Flüchtigkeitsfehler. Da werde ich keinesfalls Steine werfen. Geschieht den Besten...

C: docker rm ...
Analog Deinem Hinweis mit der Zeile "Error..." habe ich hier das einfachste übersehen. Container installation verunglückt und blockiert nun die Einfahrt. Also weg damit und neu starten. Der Name des Containers wird wie Du anmerkt hast, in der Fehlermeldung angezeigt.

Hier habe ich keinen Zugriff auf meine Bibliothek. Jedoch habe ich im Internet eine Referenz der wichtigsten Docker Befehle gefunden. Natürlich habe ich auch die Manpages von Docker angeschaut. IMO kein Quck Start Guide. D.h. gut, wenn man sich in das Thema tiefer und länger einarbeitet. Auf die Schnelle nicht verständlich.

In jedem Fall hat das entfernen des Containers geklappt.

4. Erneute Installation
Gemäss Checkliste Anleitung Nr 2 (Punkt 1) nochmals installiert.
Jetzt läuft sie wie erwartet durch. D.h. im Browser (localhost.8080) wird die Startseite von AIO angezeigt.
Meinen besten Dank, dass Du mir meine zwei Flüchtigkeitsfehler bzw. mangelnde Methodik im Linux TS augezeigt hast ;-) :-D

5. Linux...
Die Annahme das ich ein Win User bin ist nur bedingt richtig. Ich habe mich in den letzten Jahrzehnten in mehr Betriebssysteme und Architekturen eingearbeitet, als Du wahrscheinlich gesehen hast.

Als ich mit Linux anfing, hat man auf allen Linuxen direkt die INI Datei editiert, wenn man z.B. die lokale IP fixieren wollte. Ich kann auch mit VI editieren und kann den Editor wieder schliessen. Was IMO eine der häufigsten Fragen auf StackOverflow war / ist.

Nicht zuletzt wegen der polarisierenden Persönlichkeiten Linus Torvalds und Richard Stallman ist die Linux Fraktion mit den Galliern vergleichbar. Die Forks schiessen aus dem Boden, verschiedene Paket Manager, zwei übergreifende Lösungen (flatpack und snap) die den Kampf Community versus Firmen Linux befeuern.
Hier fehlt eindeutig der Druck von aussen. Ein Bismark der streitenden Kinder an der Hand nimmt.

Dank MS Telemetrie und Recall wären die Chancen so gut wie nie. Apple ist elitär, teuer und unflexibel. Es lebt sich gut in diesem goldenen Käfig. Aber Freiheit ist noch immer das süsseste Gift...

Epilog
Das Fundament ist gelegt. Morgen geht es mit der Anleitung Nr 2 (Nextcloud) weiter im Text.
Wenn Du / das Forum Glück habt, ergeben sich keine weiteren Fragen 🤓

Besten Dank an alle Helfer in diesem Thread

Grüsse
 
  • Gefällt mir
Reaktionen: Piktogramm
Piktogramm schrieb:
Die Fehlermeldung ist da ja auch wieder recht eindeutig. In der Zeile wo Error steht, steht eben auch, dass ein Konflikt bei der erneuten Installation besteht, da du bereits eine Container hast, der den Namen "nextcloud-aio-mastercontainer" trägt und der bestehende container die ID 8c2a... trägt.
Guten Abend

Ich bitte um weitergehenden Support :)

Heute Abend kann ich über den Browser die Startseite des NC AIO nicht mehr öffnen.

Check der Container sieht gut aus. Vorhanden und geladen:

Code:
myway@achat:~$ sudo docker image ls
REPOSITORY             TAG       IMAGE ID       CREATED         SIZE
nextcloud/all-in-one   latest    e9ce9a27aefa   4 weeks ago     245MB
hello-world            latest    d2c94e258dcb   19 months ago   13.3kB

myway@achat:~$ sudo docker container ls
CONTAINER ID   IMAGE                         COMMAND       CREATED      STATUS                         PORTS     NAMES
d1ff164b55c8   nextcloud/all-in-one:latest   "/start.sh"   4 days ago   Restarting (1) 7 seconds ago             nextcloud-aio-mastercontainer

Tatsächlich ist kein Dämon / Service ab abhören der Ports
uli@achat:~$ sudo lsof -i tcp:8080
uli@achat:~$ sudo lsof -i tcp:80

Die Guideline ist dieselbe wie letzte Woche.
Nach der Installation konnte Schritt 4 erfolgreich ausführen:

Code:
4. Next, you can open the AIO interface on https://localhost:8080 or https://the.servers.ip.address:8080. ⚠️ Important: do always use an ip-address if you access this port and not a domain as HSTS might block access to it later!

Jedesmal den Container neu installieren ist nicht zielführend :-D

Beste Grüsse
 
Naja, der Trick wäre schon, dass du die Installationsanleitung in einer Sitzung abhandelst, denn der "docker run ..." Teil ist erstmal nur der Download eines Images, welches die Installation/Konfiguration erlaubt..
Das der Container keine Ports aufmacht ist in der Spalte "Ports" vom docker list auch schon ersichtlich :). Ebenso, wie der Conatiner beim Restart hängt.

Mein Ansatz wenn ich kein Bock habe mich tiefer mit Docker zu beschäftigen wäre jetzt den Container wieder zu löschen und über docker run erneut zu laden.

Alternativ ist ein docker stop [-t 0] ID um den Container zu stoppen und dann ein docker -a ID um den Container zu starten und dabei alles zu verfolgen was das Ding einem an STOUT und STERR entgegenwirft um herauszufinden wo es hängt. Muse hätte ich nur gerade keine darauf.
 
Hallo

Ich bin etwas verwirrt. AIO sollte doch der leichte und unkomplizierte Weg sein
Jetzt sieht es so aus, dass das die SW noch nicht eimal automatisch startet

Und Du garnierst das mit weiteren kryptischen Anweisungen?

Fassen wir zusammen:
Ich will einfach nur eine kleine private Cloud nutzen
Man sagt hier, nutze AIO über Docker und alles ist easy (Installation)
Und wir sind schon wieder am basteln?

Sorry - was muss ich zahlen, damit eine Anleitung erhalte die zum Ziel führt?
Zeit ist Geld und Nextcloud ist keine Raketentechnik...

Beste Grüsse
 
1. Empfehlung: Docker Compose nutzen
2. Empfehlung: Portainer als Container installieren. Container lassen sich darüber komfortabler steuern und das Auslesen der Logs ist deutlich einfacher

Code:
services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: Portainer
    restart: unless-stopped
    ports:
      - 9443:9443
    privileged: true   
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./data:/data

Als docker-compose.yml speichern und über docker compose up -d den Container anlegen und starten.

3. docker-compose.yml für Nextcloud AIO anlegen und starten. Quelle
Code:
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
    network_mode: bridge
    ports:
      - 80:80
      - 8080:8080
      - 8443:8443

Nutze die AIO nicht und kann auch nichts darüber sagen.

4. Bei Fehlern in die Logs von Portainer schauen, aber beide Compose-Dateien sind so basic, dass sonst das Problem wo anders liegen muss.
 
Hallo

Ich fasse zusammen.
"Docker Container Nextcloud AIO ist easy."

Neustart Debian Linux. Container ist geladen, aber er hört nicht auf Port 8080
D.h. er kann nicht über den Browser angesprochen werden.
Und jetzt weiss niemand wieso? Bzw. wie man das Problem eingrenzt?

Dann ist es doch Raketentechnik und wir müssen Elon Musk fragen...

Beste Grüsse
 
ral9004 schrieb:
Und Du garnierst das mit weiteren kryptischen Anweisungen?

Sorry - was muss ich zahlen, damit eine Anleitung erhalte die zum Ziel führt?
Zeit ist Geld und Nextcloud ist keine Raketentechnik...

Dein Ansatz bisher ist es Fehlermeldungen nicht zu lesen, die Anleitungen auch nur bedingt und vor allem scheiterst du daran, dass du den magischen 1-Click Installbutton nicht findet...

Nochmal vom letzten Hinweis:
Piktogramm schrieb:
Mein Ansatz wenn ich kein Bock habe mich tiefer mit Docker zu beschäftigen wäre jetzt den Container wieder zu löschen und über docker run erneut zu laden.

Container platt machen, neu laden, die dann die verdammte Anleitung in einer Sitzung abarbeiten.


Und ja, ab einem gewissem Grad an Anleitung ignorieren, Unwillen sich mit Technologie zu beschäftigen bleibt die Wahl zwischen Verzicht und Geld zahlen.
 
Zurück
Oben