Direkt zum Hauptinhalt

HTTPS hinzufügen

Beschreibung:

Damit Psuh und Kamera funktioniert muss HTTPS benutzt werden.

Implementierung:

docker file anpassen

Einen caddy Teil hinzufügen und den webserver noch folgende Verzeichnisse hinzufügen:

Unsere neue Docker file

version: '3.8'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: storageboxx_web
    ports:
      - "80:80"
    volumes:
      - ./html:/var/www/html
      - ./caddy_data:/data  # Caddy benötigt diesen Ordner für seine Konfiguration
      - ./caddy_config:/config  # Caddy benötigt diesen Ordner für seine Konfiguration
    environment:
      - APACHE_DOCUMENT_ROOT=/var/www/html
    depends_on:
      - db

  db:
    image: mariadb:latest
    container_name: storageboxx_db
    restart: always
    environment:
      MYSQL_DATABASE: storageboxx
      MYSQL_USER: user
      MYSQL_PASSWORD: password
      MYSQL_ROOT_PASSWORD: rootpassword
    volumes:
      - ./db_data:/var/lib/mysql
  caddy:
      image: caddy:latest
      container_name: caddy_proxy
      ports:
        - "443:443"
      volumes:
        - ./Caddyfile:/etc/caddy/Caddyfile
        - ./caddy_data:/data
        - ./caddy_config:/config
      environment:
        - CADDY_TLS_CERTIFICATE=/etc/caddy/selfsigned.crt
        - CADDY_TLS_PRIVATE_KEY=/etc/caddy/selfsigned.key
      depends_on:
        - web

Nun die Caddy config Verzeichnisse und das Cert Verzeichniss erstellen

mkdir -p /root/storageboxx/caddy_config
mkdir -p /root/storageboxx/caddy_data
mkdir -p /root/storageboxx/caddy_certs

Nun die Caddyfile erstellen

nano /root/storageboxx/Caddyfile

Inhalt

{
    # Globale Einstellungen
    http_port 80
    https_port 443
    auto_https off  # Automatisches HTTPS deaktivieren
}

localhost {
    tls /data/selfsigned.crt /data/selfsigned.key 
   


    reverse_proxy web:80
}

192.168.178.187 {
    tls /data/selfsigned.crt /data/selfsigned.key 
   


    reverse_proxy web:80
}

Nun das Zertifikat erstellen

openssl req -x509 -nodes -days 365000 -newkey rsa:2048 -keyout /root/storageboxx/caddy_certs/selfsigned.key -out /root/storageboxx/caddy_certs/selfsigned.crt -subj "/CN=192.168.178.187"

Danach ins Verzeichnis Caddy Verzeichnis kopieren. Die CA bleibt im Certs Verzeichnis

cp /root/storageboxx/caddy_certs/selfsigned.key /root/storageboxx/caddy_data/selfsigned.key
cp /root/storageboxx/caddy_certs/selfsigned.crt /root/storageboxx/caddy_data/selfsigned.crt

Fertig.
Den container starten