Serverless Docker options
Same image: $DOCKERHUB_USERNAME/email-link-host
| Platform | Port | Notes |
|---|---|---|
| Fly.io | internal 8080 | fly launch / fly deploy with Dockerfile or image |
| Railway | set PORT/ADDR | Deploy from Docker Hub image |
| Render | Web Service | Docker runtime |
| Google Cloud Run | $PORT | Map container port 8080; set env |
| AWS App Runner | 8080 | From ECR or public Docker Hub |
| Azure Container Apps | 8080 | Ingress external |
Go listens on ADDR (default :8080) or PORT.
Cloud Run example
gcloud run deploy email-link-host \
--image=$DOCKERHUB_USERNAME/email-link-host:latest \
--platform=managed \
--allow-unauthenticated \
--port=8080 \
--set-env-vars="SITE_BRAND=MyApp,ANDROID_STORE_URL=https://..."
Prefer secret managers for sensitive values in production.