Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: this_feature_currently_requires_accessing_site_using_safari
Processed 4917 files, 10132 regular extents (10132 refs), 1277 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 98% 50G 51G 51G
none 100% 50G 50G 50G
zstd 32% 255M 780M 780M
Nein, funktioniert garnicht. Es ging mal vorn paar Wochen - irgendwann einfach nichtmehr (und ich wüsste nicht ob sich da was geändert hat).
GNU nano 2.7.4 Datei: altertest.sh
#/bin/bash
PARAM=$1
cloud_start () {
green_echo "starting cloud"
green_echo "starting postgresql"
docker run --name nextcloud_postgres -e POSTGRES_PASSWORD=nextcloud -e POSTGRES_USER=nextcloud -e POSTGRES_DB=nextcloud -d --network="nextcloud_network" postgres:12-alpine
green_echo "done"
green_echo "starting nextcloud"
docker run --name nextcloud_server -d --network="nextcloud_network" -p 8080:80 nextcloud
green_echo "done"
}
cloud_stop () {
red_echo "stopping cloud"
docker stop nextcloud_server
docker stop nextcloud_postgres
docker rm nextcloud_server
docker rm nextcloud_postgres
docker volume prune
red_echo "done"
}
cloud_restart () {
green_echo "restarting cloud"
cloud_stop
cloud_start
green_echo "done"
}
green_echo () {
echo -e "\e[32m$1\e[39m"
}
red_echo () {
echo -e "\e[31m$1\e[39m"
}
case "$PARAM" in
"start") cloud_start
;;
"stop") cloud_stop
;;
"restart") cloud_restart
;;
esac
ich verstehe ja nach wie vor nicht, wieso man privat docker nutzt.
ich verstehe ja nach wie vor nicht, wieso man privat docker nutzt. Ich hätte aber ansible (ohne roles :/) mit apparmor, letsencrypt, apache, php-fpm und mysql für debian anzubieten
Am Weitesten kam ich noch mit einem selbsgebastelten Skript (bisher ohne Verwendung von Proxy und compose, weil das die Sache ja noch weiter verkompliziert), was aber dann daran scheiterte, dass das dämliche Postgre meinte mein User hätte keine CONNECT-Rechte, obwohl die gesamten Variablen gesetzt waren..
Falls es keine bessere bzw. fertige Lösung gibt; mein Experimentierskript sah übrigens so aus, vielleicht kann ja da doch noch Jemand was fixen:
Nutze kein Docker. ABER:
Auf den laufenden Container einloggen und prüfen ob die richtigen Nutzer angelegt sind und die Dokumentation/Konfiguration prüfen.
Also https://hub.docker.com/_/postgres dort dann 12-alpine, dass du scheinbar nutzt linkt auf 12-alpine Dockerfile in dem dann steht dass der User "postgres" ist - du scheinst ja einen anderen User zu übergeben : POSTGRES_USER=nextcloud scheint für mich falsch zu sein - das sollte "postgres" sein.
POSTGRES_USER
This optional environment variable is used in conjunction with POSTGRES_PASSWORD to set a user and its password. This variable will create the specified user with superuser power and a database with the same name. If it is not specified, then the default user of postgres will be used.
Nutze kein Docker. ABER:
Auf den laufenden Container einloggen und prüfen ob die richtigen Nutzer angelegt sind und die Dokumentation/Konfiguration prüfen.
eine shell innerhalb des Containers öffnen kann, aber eindocker exec -it nextcloud_postgres /bin/bash
hat leider gar Nichts hervorgebracht, es gibt einfach keine Logiles. Ich vermute die sind grundsätzlich deaktiviert, weil sonst der container vollaufen würde? Aber wie komme ich sonst an brauchbare Informatonen zum Status von Postgre? Habe auch keine Konfiguration zu Postgre in /etc gefunden.ls -al /var/log/
Also https://hub.docker.com/_/postgres dort dann 12-alpine, dass du scheinbar nutzt linkt auf 12-alpine Dockerfile in dem dann steht dass der User "postgres" ist - du scheinst ja einen anderen User zu übergeben : POSTGRES_USER=nextcloud scheint für mich falsch zu sein - das sollte "postgres" sein.
@Elmario:
In deinem Script beim Aufruf des nextcloud Containers fehlt glaube ich der Parameter link.
Du packst sie zwar ins selbe Netzwerk, aber ohne die Verlinkung kann der nextcloud Container den postgres Container nicht über den Namen "nextcloud_postgres" erreichen.
Würde an deiner Stelle aber vom Script weg gehn und wieder auf docker-compose umsteigen.
Prinzipiell funktioniert der Befehl mit Docker. (hier läuft docker 19.03.2 Befehl: "docker version")docker run --name nextcloud_postgres -e POSTGRES_PASSWORD=nextcloud -e POSTGRES_USER=nextcloud -e POSTGRES_DB=nextcloud -d --network="nextcloud_network" postgres:12-alpine
liefert zuerst die IP des containers ; Anfragen ob die DB fertig ist (pg_isready) bzw. mit interaktiver Passworteingabe und dem listen der Datenbanken (psql) waren erfolgreich.docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nextcloud_postgres
pg_isready --host=172.17.0.2 --dbname=nextcloud --username=nextcloud
psql --host=172.17.0.2 --dbname=nextcloud --username=nextcloud --command "\l"
Gegenfrage, wieso denn nicht?
Moment, wer sagt denn, dass man Docker nur mit mehreren Servern betreiben kann? Docker Swarm, also das, was du gerade ansprichst, war am Anfang nichtmal in Docker enthalten.
Merkst du was: "identisch replizierbares Setup" für Development. hat meiner Einschätzung nach relativ wenig mit "ich betreibe eine Nextcloud/Webserver/..." zu tun, die darauf ausgelegt sind, dauerhaft zu laufen.Genau so habe ich das auch. Für alle meine Webapplikationen habe ich eine Cloud-Init-Konfiguration, mit der ich einen voll eingerichteten Ubuntu-Server bei Digitalocean hochziehen kann. Die IP-Adresse und die Hostkeys des Servers kommen dann in die GitLab CI-Variablen des Projektes, ich drück auf "Deploy" und der/die Docker-Container werden auf der neuen Maschine gestartet. Aufwand unter 5 Minuten. Und alle zwei Jahre mal die Cloud-Init-Konfiguration checken, ob die noch mit der neusten Ubuntu-LTS läuft.
Wenn man dafür sorgt, dass alle nach außen gerichteten Services im Docker nicht als Root laufen und man überall Root-Rechte hat .Docker ist nicht "Cloud & Cluster", sondern "Sicherheit & 'Works on every machine'".
...lgreich.
PS: "docker logs nextcloud_postgres" zeigt dann auch logs der Datenbankbefehle auch wenn ein Login fehlschlägt
psql --host 127.0.0.1 --dbname=nextcloud --username=nextcloud --command "\l"
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-----------+----------+------------+------------+-------------------------
nextcloud | nextcloud | UTF8 | en_US.utf8 | en_US.utf8 | nextcloud=CTc/nextcloud
postgres | nextcloud | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | nextcloud | UTF8 | en_US.utf8 | en_US.utf8 | =c/nextcloud +
| | | | | nextcloud=CTc/nextcloud
template1 | nextcloud | UTF8 | en_US.utf8 | en_US.utf8 | =c/nextcloud +
| | | | | nextcloud=CTc/nextcloud
(4 rows)
Es scheint ein Rechteproblem innerhalb Postgres zu sein.Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[08006] [7] FATAL: permission denied for database "nextcloud" DETAIL: User does not have CONNECT privilege
docker run --name nextcloud_postgres -e POSTGRES_PASSWORD=root -e POSTGRES_USER=root -d --network="nextcloud_network" postgres:12-alpine
Du kannst einzelne Verzeichnisse (Ordner) auf unterschiedlichen Partitionen (logische oder physikalische) ablegen. Ein ziemlich gradliniger Ansatz ist es, das System auf der kleineren SSD zu installieren und /home auf eine Partition der größeren SSD zu legen. So hat man für die Nutzerdaten mehr Platz. Nur dazu musst Du im Installer einiges von Hand machen.Ich habe aktuell einen Desktop-PC mit 2 SSDs. Ich würde darauf gerne Linux als alleiniges OS installieren, wie mache ich das mit den 2 SSDs? Soweit ich weiß kann man unter Linux ja nicht so einfach sagen, wohin welches Programm installiert wird. Also wie verhindere ich, dass die kleinere SSD (128GB und 512GB) vollläuft während die andere noch quasi leer ist?