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 CADDY=true
AZURITE_SSL="" AZURITE_SSL=""
CERT_ARGS=() CERT_ARGS=()
BLOB_ARGS=()
OAUTH_ARGS=() OAUTH_ARGS=()
while [[ $# -gt 0 ]]; do 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. # 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. # 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 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") CERT_ARGS=("--key" "$AZURITE_DIR/${ACCOUNT_NAME}_key.pem" "--cert" "$AZURITE_DIR/${ACCOUNT_NAME}_cert.pem")
fi fi
fi fi
@@ -152,5 +150,4 @@ exec node /app/azurite/src/azurite.js \
--disableTelemetry \ --disableTelemetry \
--location "$AZURITE_DIR" \ --location "$AZURITE_DIR" \
"${CERT_ARGS[@]}" \ "${CERT_ARGS[@]}" \
"${BLOB_ARGS[@]}" \
"${OAUTH_ARGS[@]}" "${OAUTH_ARGS[@]}"

18
run.sh
View File

@@ -1,8 +1,22 @@
#!/usr/bin/env bash #!/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 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 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 else
echo "Neither supported container runtime found." >&2 echo "Neither supported container runtime found." >&2
exit 1 exit 1