HTTPS hinzufügen
Beschreibung:
Damit Push und Kamera funktioniert muss HTTPS benutzt werden.
Implementierung:
alles stoppen
docker-compose down
docker file anpassen
In der docker-compose Datei nginx Container hinzufügen :
nano /root/storageboxx/docker-compose.yml
Unsere neue Docker file
version: '3.8'
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: storageboxx_web
ports:#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
restart: unless-stopped
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
nginx:
image: nginx:stable
container_name: nginx-proxy
volumes:
- ./nginx-proxy.conf:/etc/nginx/nginx.conf:ro
- ./certs/selfsigned.crt:/etc/ssl/certs/selfsigned.crt:ro
- ./certs/private.key:/etc/ssl/private/private.key:ro
ports:
- "80:80"
- "443:443"
depends_on:
- web
restart: unless-stopped
Nun das cert Verzeichnis erstellen
mkdir -p /root/storageboxx/certs
Nun die ngninx conf erstellen
nano /root/storageboxx/nginx-proxy.conf
Inhalt
events {
worker_connections 1024;
}
http {
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/selfsigned.crt;
ssl_certificate_key /etc/ssl/private/private.key;
location / {
proxy_pass http://web:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
}
}
}
Nun das Zertifikat erstellen
openssl req -newkey rsa:4096 -x509 -sha256 -days 365000 -nodes -out /root/storageboxx/certs/selfsigned.crt -keyout /root/storageboxx/certs/private.key
Die Fragen benatworten.
Nun in der config von Storageboxx https ändern
nano /root/storageboxx/html/lib/CORE-Config.php
alt
<?php
// (A) HOST
define("SITE_NAME", "Storage Boxx");
define("HOST_BASE", "http://192.168.178.187/"); // CHANGED BY INSTALLER #um diese zeile geht es !!!!!!!
define("HOST_NAME", parse_url(HOST_BASE, PHP_URL_HOST));
define("HOST_BASE_PATH", parse_url(HOST_BASE, PHP_URL_PATH));
define("HOST_ASSETS", HOST_BASE . "assets/");
// (B) API ENDPOINT
define("HOST_API", "api/");
Neu
<?php
// (A) HOST
define("SITE_NAME", "Storage Boxx");
define("HOST_BASE", "https://192.168.178.187/"); // CHANGED BY INSTALLER
define("HOST_NAME", parse_url(HOST_BASE, PHP_URL_HOST));
define("HOST_BASE_PATH", parse_url(HOST_BASE, PHP_URL_PATH));
define("HOST_ASSETS", HOST_BASE . "assets/");
// (B) API ENDPOINT
define("HOST_API", "api/");
....
Den container starten
docker-compose up -d
Nun die Seite laden Zertifikat akzeptieren und einloggen.
Wenn dieser Fehler kommt.

Benachrichtigungen zulassen im Browser
Push funktioniert
Fertig.

