QuickStackQuickStack
Tutorials

Expose an App (Domain + HTTPS)

Add a custom domain and enable HTTPS for your QuickStack application.

This tutorial shows the fastest path to making a deployed app publicly accessible on a domain with HTTPS.

No domain yet? Use the built-in QuickStack.me domain for instant HTTPS — no DNS setup needed.

What you need

Step 1: Create a DNS A record

At your DNS provider, create an A record:

Record typeHostnameValue
Aapp.example.comYour server's public IP

DNS can take minutes to hours to propagate. You can verify with dig app.example.com or an online lookup tool.

Step 2: Configure Let's Encrypt email (first time only)

QuickStack provisions TLS certificates via Let's Encrypt. You need to give it a contact email once:

  1. Go to Settings → Platform → Network & Domains.
  2. Set the Let's Encrypt Email field.
  3. Save.

Step 3: Add domain in QuickStack

  1. Open the app in the Project Canvas and go to Settings → Networking.
  2. Click Add Domain.
  3. Fill in:
    • Hostname — app.example.com
    • App Port — the internal container port your app listens on (e.g. 3000, 80, 8080)
    • Use HTTPS — enable (QuickStack auto-provisions a Let's Encrypt certificate)
    • Redirect HTTP to HTTPS — enable (recommended)
  4. Click Save.

Step 4: Deploy to apply

Domain changes are not active until you click Deploy. The app must be redeployed for the new domain to take effect.

Click Deploy in the app drawer header.

Verify

Open https://app.example.com in your browser. You should see your app with a valid TLS certificate.

It can take a few seconds/minutes for Traefik to provision the certificate after deployment. If you see a security warning, wait a bit and refresh.

Troubleshooting

ProblemAction
Domain does not resolveWait for DNS propagation; verify A record
App not reachableCheck that App Port matches the container's listening port
HTTPS certificate failsConfirm Let's Encrypt email is set in Settings → Platform → Network & Domains
App still shows HTTPVerify "Redirect HTTP to HTTPS" is enabled and you redeployed

For more detail

On this page