Skip to main content

Expose an App (Domain + HTTPS)

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 SettingsQuickStack ServerNetworking / Traefik.
  2. Set the Let's Encrypt Email field.
  3. Save.

Step 3: Add domain in QuickStack

  1. Open your app and go to the Domains tab.
  2. Click Add Domain.
  3. Fill in:
    • Hostnameapp.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.
QuickStack Edit Domain Dialog QuickStack Domains Tab

Step 4: Deploy to apply

info

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 top-right corner of the app page.

Verify

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

info

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 → Networking / Traefik
App still shows HTTPVerify "Redirect HTTP to HTTPS" is enabled and you redeployed

For more detail