fix: streamline port exposure handling in run script

This commit is contained in:
2026-02-27 13:33:21 +01:00
parent ddc8fe8241
commit 2393a281c3
2 changed files with 16 additions and 5 deletions

View File

@@ -89,7 +89,6 @@ fi
CADDY=true
AZURITE_SSL=""
CERT_ARGS=()
BLOB_ARGS=()
OAUTH_ARGS=()
while [[ $# -gt 0 ]]; do
@@ -143,7 +142,6 @@ else
# If not using Caddy, configure Azurite to listen on all interfaces and use the generated self-signed certificate.
# This mode does not require Caddy, but it will not allow simultaneous access to the table and queue services on the same HTTPS port.
if [[ -n "$AZURITE_SSL" ]]; then
BLOB_ARGS=("--blobHost" "0.0.0.0" "--blobPort" "443")
CERT_ARGS=("--key" "$AZURITE_DIR/${ACCOUNT_NAME}_key.pem" "--cert" "$AZURITE_DIR/${ACCOUNT_NAME}_cert.pem")
fi
fi
@@ -152,5 +150,4 @@ exec node /app/azurite/src/azurite.js \
--disableTelemetry \
--location "$AZURITE_DIR" \
"${CERT_ARGS[@]}" \
"${BLOB_ARGS[@]}" \
"${OAUTH_ARGS[@]}"

18
run.sh
View File

@@ -1,8 +1,22 @@
#!/usr/bin/env bash
EXPOSED_PORTS=("-p" "443:443")
OAUTH_ENABLED=""
while [[ $# -gt 0 ]]; do
case "$1" in
--oauth)
OAUTH_ENABLED=true
EXPOSED_PORTS=("-p" "443:10000" "-p" "10001:10001" "-p" "10002:10002")
shift
;;
esac
done
if command -v dockerd &> /dev/null; then
docker run --rm -it --name azurite --env-file accounts.env -p 443:443 -v ./storage:/storage azurite:latest "$@"
docker run --rm -it --name azurite --env-file accounts.env "${EXPOSED_PORTS[@]}" -v ./storage:/storage azurite:latest "$@"
elif command -v container &> /dev/null; then
container run --rm -it --name azurite --env-file accounts.env -p 443:443 --mount type=bind,source=./storage,target=/storage azurite:latest "$@"
container run --rm -it --name azurite --env-file accounts.env "${EXPOSED_PORTS[@]}" --mount type=bind,source=./storage,target=/storage azurite:latest "$@"
else
echo "Neither supported container runtime found." >&2
exit 1