Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion gateway/dstack-app/builder/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,11 @@ cert_chain = "$CERTBOT_WORKDIR/live/cert.pem"
cert_key = "$CERTBOT_WORKDIR/live/key.pem"
base_domain = "$SRV_DOMAIN"
listen_addr = "0.0.0.0"
listen_port = 443
$(if [ "${SERVING_NUM_PORTS:-1}" -gt 1 ]; then
echo "listen_port = \"443-$((443 + SERVING_NUM_PORTS - 1))\""
else
echo "listen_port = 443"
fi)
connect_top_n = 3
localhost_enabled = false

Expand Down
14 changes: 11 additions & 3 deletions gateway/dstack-app/deploy-to-vmm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@ GATEWAY_IMAGE=dstacktee/dstack-gateway@sha256:a7b7e3144371b053ba21d6ac18141afd49
# Port configurations
GATEWAY_RPC_ADDR=0.0.0.0:9202
GATEWAY_ADMIN_RPC_ADDR=127.0.0.1:9203
GATEWAY_SERVING_ADDR=0.0.0.0:9204
GATEWAY_SERVING_PORT=9204
GATEWAY_SERVING_NUM_PORTS=1
GUEST_AGENT_ADDR=127.0.0.1:9206
WG_ADDR=0.0.0.0:9202

Expand Down Expand Up @@ -146,6 +147,7 @@ APP_LAUNCH_TOKEN=$APP_LAUNCH_TOKEN
RPC_DOMAIN=$RPC_DOMAIN
CERTBOT_MAX_DNS_WAIT=$CERTBOT_MAX_DNS_WAIT
CERTBOT_DNS_TXT_TTL=$CERTBOT_DNS_TXT_TTL
SERVING_NUM_PORTS=$GATEWAY_SERVING_NUM_PORTS
EOF

if [ -n "$APP_COMPOSE_FILE" ]; then
Expand Down Expand Up @@ -206,7 +208,7 @@ echo "SUBNET_INDEX: $SUBNET_INDEX"
echo "WG_ADDR: $WG_ADDR"
echo "GATEWAY_RPC_ADDR: $GATEWAY_RPC_ADDR"
echo "GATEWAY_ADMIN_RPC_ADDR: $GATEWAY_ADMIN_RPC_ADDR"
echo "GATEWAY_SERVING_ADDR: $GATEWAY_SERVING_ADDR"
echo "GATEWAY_SERVING_PORT: $GATEWAY_SERVING_PORT (x$GATEWAY_SERVING_NUM_PORTS)"
echo "GUEST_AGENT_ADDR: $GUEST_AGENT_ADDR"
echo "RPC_DOMAIN: $RPC_DOMAIN"
if [ -t 0 ]; then
Expand Down Expand Up @@ -238,10 +240,16 @@ else
DEPLOY_ARGS+=(
--port "tcp:$GATEWAY_RPC_ADDR:8000"
--port "tcp:$GATEWAY_ADMIN_RPC_ADDR:8001"
--port "tcp:$GATEWAY_SERVING_ADDR:443"
--port "tcp:$GUEST_AGENT_ADDR:8090"
--port "udp:$WG_ADDR:51820"
)
# Map serving port range: host ports starting at GATEWAY_SERVING_PORT
# to container ports starting at 443
SERVING_END=$((GATEWAY_SERVING_PORT + GATEWAY_SERVING_NUM_PORTS - 1))
for hp in $(seq "$GATEWAY_SERVING_PORT" "$SERVING_END"); do
cp=$((443 + hp - GATEWAY_SERVING_PORT))
DEPLOY_ARGS+=(--port "tcp:0.0.0.0:${hp}:${cp}")
done
fi

$CLI deploy "${DEPLOY_ARGS[@]}"
Expand Down
1 change: 1 addition & 0 deletions gateway/dstack-app/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ services:
- RUST_LOG=info,certbot=debug
- PCCS_URL=${PCCS_URL}
- RPC_DOMAIN=${RPC_DOMAIN}
- SERVING_NUM_PORTS=${SERVING_NUM_PORTS:-1}
restart: always

volumes:
Expand Down