17 lines
772 B
Bash
17 lines
772 B
Bash
#!/bin/sh
|
|
# Гарантирует наличие self-signed TLS-сертификата перед стартом uvicorn.
|
|
# Если cert.pem/key.pem отсутствуют (свежий деплой) — генерирует их;
|
|
# иначе использует существующие. Затем запускает переданную команду (CMD).
|
|
set -e
|
|
|
|
CERT_DIR=/app/certs
|
|
if [ ! -f "$CERT_DIR/cert.pem" ] || [ ! -f "$CERT_DIR/key.pem" ]; then
|
|
echo "[entrypoint] TLS cert not found in $CERT_DIR — generating self-signed (CN=${NVR_TLS_CN:-localhost})"
|
|
mkdir -p "$CERT_DIR"
|
|
openssl req -x509 -newkey rsa:2048 -nodes \
|
|
-keyout "$CERT_DIR/key.pem" -out "$CERT_DIR/cert.pem" \
|
|
-days 3650 -subj "/CN=${NVR_TLS_CN:-localhost}"
|
|
fi
|
|
|
|
exec "$@"
|