Docker install lighttpd lighttpd.conf nicht gefunden

selfmade01

Lieutenant
Registriert
Okt. 2012
Beiträge
785
Hallo
ich habe hier ein Docker-system auf einem Raspberry Pi4 laufen.
Aktuell habe ich u.a. HomeAssistant installiert was einen eigenen Webserver miit an Bord hat.

Ich möchte nun zusätzlich mit meinem docker-compose eine lighttpd installieren, da ich noch den raspap später nachinstallieren möchte.

Das docker-compose.yaml sieht so aus

Code:
version: '3'
services:
  homeassistant:
    container_name: homeassistant
.
.
.
.
.
.
  lighttpd:
    image: sebp/lighttpd
    volumes:
      - /var/www/html:/var/www/localhost/htdocs
      - /etc/lighttpd:/etc/lighttpd
      # - /etc/lighttpd/lighttpd.conf:/etc/lighttpd/lighttpd.conf
    ports:
      - "80:80"
      - "443:443"
    tty: true

nach dem ich docker-compose up lighttpd ausführe kommte diese Meldung

Code:
compose up  lighttpd
[+] Running 1/1
 ⠿ Container docker-lighttpd-1  Created                                                                                                                                                     0.1s
Attaching to docker-lighttpd-1
docker-lighttpd-1  | 2023-03-07 16:20:26: (configfile.c.2200) opening configfile /etc/lighttpd/lighttpd.conf failed: No such file or directory
docker-lighttpd-1 exited with code 255


Ich weiss nicht wieso er bei der Installation dieses Verzeichnis /etc/lighttpd/ zwar anlegt aber dann seine lighttpd.conf nicht mit installiert

Ich fand diese Fehler auch im Netz nicht.

mit docker compose logs lighttpd bringt er auch nur das als Info
Code:
$ sudo docker compose logs lighttpd
docker-lighttpd-1  | 2023-03-07 16:20:26: (configfile.c.2200) opening configfile /etc/lighttpd/lighttpd.conf failed: No such file or directory
 
selfmade01 schrieb:
- /var/www/html:/var/www/localhost/htdocs - /etc/lighttpd:/etc/lighttpd
please don't.
Leg die persistent volumes nach /opt
bitte keine config dateien aus /etc nutzen. da legt der host seine configs hin und frueher oder spaeter fliegst du damit hin.
siehe auch aus dem anderen thread zu dem thema:
madmax2010 schrieb:
Pakete sollen ins image gebaut werden, config ueber umgebungsvariablen, wenn es nur ein wenig ist. Sonst bei der image erstellung die entsprechende COnfig ins image kopieren.
mae1cum77 schrieb:



und naja
selfmade01 schrieb:
docker-lighttpd-1 | 2023-03-07 16:20:26: (configfile.c.2200) opening configfile /etc/lighttpd/lighttpd.conf failed: No such file or directory
da liegt keine config.. aber das ist so gut und richtig.
die /etc/lighttpd/lighttpd.conf wird schon im container liegen. und mountest einen leeren ordner ueber das verzeichnis und versteckst sie damit.
Ergänzung ()

beispiel wie man
sehr sauberes beispiel, wie man bsw. die datenbank konfiguriert:
https://github.com/aneisch/home-ass...docker-compose/unified/docker-compose.yml#L31
 
madmax2010 schrieb:
please don't.
Leg die persistent volumes nach /opt
bitte keine config dateien aus /etc nutzen. da legt der host seine configs hin und frueher oder spaeter fliegst du damit hin.
Hallo,
sollte ich dann alle auch document_root nach /opt/www/html/ legen ?

ich möchte im Anschluss weitere Tools wie raspap im docker installieren. Benötigen diese nicht das /etc/lighttpd/ Verzeichnis und die normalen config-Dateien ?

Ich möchte auch den lighttpd mit ssl erweiteren... ich denke das wäre am besten wenn ich das gleich dem image mitteile oder?
oder installiert man sowas im Anschluss?


madmax2010 schrieb:
da liegt keine config.. aber das ist so gut und richtig.
die /etc/lighttpd/lighttpd.conf wird schon im container liegen. und mountest einen leeren ordner ueber das verzeichnis und versteckst sie damit.

wie konfiguriere ich dann den lighttpd webserver?...
ich habe dazu bis jetzt ganz wenig gefunden wie man das in einem docker-composer system macht

edit:
ich habe alle meine configs zumindest die meisten wie z.B. vom Homeassistant ins /home/user/docker/<anwendung>/ gelegt
das war dann wohl keine gute Idee

abetr die
/var/www/html:/var/www/localhost/htdocs
kann doch bleiben oder?

wenn die Document-Root des Webservers nicht mehr dort liegt müsste ich dann nicht auch die Dienste wie Grafana oder homeassistant auf diese Veränderung hinweisen oder interssiert die nur ihr eigener Port der für sie definiert wurde?

edit2:
danke für d en link zur docker-compose.yaml
wenn ich das sehe muss ich an meine nochmals ran...
hoffe das wird alles sauber gelöscht wenn ich es mit dem docker rm entferne oder ist da sinnvoll auch noch mit hand nachzureinigen?
 
Zuletzt bearbeitet:
aktuell sieht es so bei mir raspap so aus
Code:
 docker container inspect raspap --format '{{ json .Mounts }}'| jq
[
  {
    "Type": "volume",
    "Name": "724ce7ce67007f74fc0fff4fb42c30808df949bde588aa3114719bbb499a2946",
    "Source": "/var/lib/docker/volumes/724ce7ce67007f74fc0fff4fb42c30808df949bde588aa3114719bbb499a2946/_data",
    "Destination": "/run",
    "Driver": "local",
    "Mode": "",
    "RW": true,
    "Propagation": ""
  },
  {
    "Type": "volume",
    "Name": "5342d967b6bfeea023e9afc4f0355a38e0d4e75e4f0407b573f7b5104a7d16d3",
    "Source": "/var/lib/docker/volumes/5342d967b6bfeea023e9afc4f0355a38e0d4e75e4f0407b573f7b5104a7d16d3/_data",
    "Destination": "/run/lock",
    "Driver": "local",
    "Mode": "",
    "RW": true,
    "Propagation": ""
  },
  {
    "Type": "bind",
    "Source": "/home/grobot/docker/raspap/cgroup",
    "Destination": "/sys/fs/cgroup",
    "Mode": "ro",
    "RW": false,
    "Propagation": "rprivate"
  },
  {
    "Type": "volume",
    "Name": "0685b05141820eb07c3eaeddb09971eb70511100d5651dc5981e27e3e69a31dd",
    "Source": "/var/lib/docker/volumes/0685b05141820eb07c3eaeddb09971eb70511100d5651dc5981e27e3e69a31dd/_data",
    "Destination": "/tmp",
    "Driver": "local",
    "Mode": "",
    "RW": true,
    "Propagation": ""
  }
]

und das zeigt er mir für lighttpd

Code:
docker container inspect  docker_lighttpd_1 --format '{{ json .Mounts }}'| jq
[
  {
    "Type": "bind",
    "Source": "/var/www/html",
    "Destination": "/var/www/localhost/htdocs",
    "Mode": "rw",
    "RW": true,
    "Propagation": "rprivate"
  },
  {
    "Type": "volume",
    "Name": "7688291d801fb484ef9ace34c6f5952d4870641b9c017c3e5a6e65741b921bf7",
    "Source": "/var/lib/docker/volumes/7688291d801fb484ef9ace34c6f5952d4870641b9c017c3e5a6e65741b921bf7/_data",
    "Destination": "/etc/lighttpd",
    "Driver": "local",
    "Mode": "",
    "RW": true,
    "Propagation": ""
  }
]
grobot@server:~/docker/raspap $
 
selfmade01 schrieb:
Ich möchte auch den lighttpd mit ssl erweiteren... ich denke das wäre am besten wenn ich das gleich dem image mitteile oder?
reverse proxy und ssl ausserhalb des containers oder mit traefik / envoy weil:
Du hast X container, mit Y Webanwendungen laufen. Jede der y webanwendungen, will ueber port 443/80 aufgerunfen werden. Du braucsht also was zentrales, um alle anwendungen zu buendeln und ereichbar zu machen. Entweder auf dem host (nginx oder apache oder "cloud native" mit traefik / envoy
 
madmax2010 schrieb:
Du braucsht also was zentrales, um alle anwendungen zu buendeln und ereichbar zu machen. Entweder auf dem host (nginx oder apache oder "cloud native" mit traefik / envoy
Bei deiner verlinkten Beispiel Docker-compose.yaml ist glaub ich nginx installiert .
Reicht für diesen Umfang den ich habe (HA, Node-red, estphome, mqtt, grafana, raspap etc.) wohl kein lighttpd? cloud native" mit traefik / envoy sagen mir nichts

Ich habe hier einen Raspberry der so eingebunden ist

Internet
|
FritzBox(Zugriff via Fritzbox-DynDns-adresse später mit HA-app)
|
Raspberry mit HA , Raspap etc. auch als Router für die mobilphones
|
LAN/W-Lan PC, tablet, mobilphone (von hier aus wird HA programmiert)

edit 3:
ich habe mir nun nginx näher angesehen...
ok zum verwakten der Internen Webseiten mit domainnamen ist das schon super...
um nun erstmal zu testen ob ich auch auf raspap zugreifen kann... brauche ich das ?
aktuell kann ich auf das webinterface von raspap nicht zugreifen und ich glaub der dienst läuft auch nicht korrekt
 
Zuletzt bearbeitet:
Hallo @madmax2010
ich habe nun nginx-proxy-manager unter docker compose installiert.
Die logs vom docker compose nginx-proxy-manager sehen gut aus (nach etwas holprigem Start des npm mit "Bad Gateway" ....
das geht nun , nachdem ich nach diesem workaround von hier nginx installiert und konfiguriert habe

leider passtw as mit den ssl certs nicht die ich erstellen möchte

da bringt er fehlermeldungen wie im docker compose logs nginx-prox-manager

im log habe ich meine originale domain und meine mailadresse mit "meinedomain" und "meinemail" abgeändert... nur als Info!

Irgend eine n kleinen Fehler habe ich noch?

wie macht man das am besten mit nginx und der Namensauflösung=
Ich habe ja zwei registrierte domains...

ich vermute das ich nun mit der nginx proxy methode meine
npm.meineoriginaledomain.de
so in nginx eintrage mit einer port und ip weiterleitung.

So würde dann wohl der Zugriff vom Internet aus gelingen... aber dort muss ich glaub ich auch ein Routing eintragen bzw. meinem domain-provider an wen er eine Anfrage an meinedomain.de weiterleiten soll oder?

das wäre dann meine Fitzbox und/oder ein dyndns-dienst....
von meiner Fritzbox würde ich sogar einen fixen domainnamen erhalten unter den mein homentz erreichbar wäre.

wie ist das aber dann mit lokalen namen

z:b. möchte ich lokal ja auch nicht stets ne ip mit port im brwoser angeben

hier würde ich auch gerne
npm.meineoriginaledomain.lan
schreiben... lan wird ja im internet nicht geroutet...

muss ich dann dann nochmals hosts im npm anlegen?

wenn ich von außen http://npm.meinedomain.com eingebe komme ich nun auf meinen npm-server... das geht also
von Hand habe ich auch versucht ein Zertifikat anzulegen was er wohl auch machte

mit
Code:
 certbot certonly --manual --preferred-challenges=dns -m meineemail1@gmail.com  --agree-tos -d meinedomain.com

dann musste ich
Code:
_acme-challenge.meinedomain.com
eintragen und dort den TXT Record setzen mit dem Token...
das hat er wohl auch gemacht da nun Zertifikate angelegt wurden

Im npm-frontend klappt es jedoch nicht und ich erhalte ständig die gleichen fehler

was mache ich da noich falsch?



Code:
 warning   Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-8" --agree-tos --authenticator webroot --email "meinemail@gmail.com" --preferred-challenges "dns,http" --domains "npm.meinedomain.com"
nginx-proxy-manager  | Saving debug log to /var/log/letsencrypt/letsencrypt.log
nginx-proxy-manager  | Some challenges have failed.
nginx-proxy-manager  | Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
nginx-proxy-manager  |
nginx-proxy-manager  | [3/9/2023] [12:18:48 PM] [Nginx    ] › ℹ  info      Reloading Nginx
nginx-proxy-manager  | [3/9/2023] [12:18:53 PM] [SSL      ] › ℹ  info      Requesting Let'sEncrypt certificates for Cert #9: npm.mygrobot.com
nginx-proxy-manager  | [3/9/2023] [12:18:53 PM] [SSL      ] › ℹ  info      Command: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-9" --agree-tos --authenticator webroot --email "meinemail@gmail.com" --preferred-challenges "dns,http" --domains "npm.meinedomain.com"
nginx-proxy-manager  | [3/9/2023] [12:19:13 PM] [Nginx    ] › ℹ  info      Reloading Nginx
nginx-proxy-manager  | [3/9/2023] [12:19:13 PM] [Express  ] › ⚠  warning   Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-9" --agree-tos --authenticator webroot --email "meinemail@gmail.com" --preferred-challenges "dns,http" --domains "npm.meinedomain.com"
nginx-proxy-manager  | Saving debug log to /var/log/letsencrypt/letsencrypt.log
nginx-proxy-manager  | Some challenges have failed.
nginx-proxy-manager  | Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
nginx-proxy-manager  |
 

Anhänge

Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben