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
- A deployed app (see first app from Git or first app from image)
- A domain you control (e.g.
app.example.com) - Your server's public IP address
Step 1: Create a DNS A record
At your DNS provider, create an A record:
| Record type | Hostname | Value |
|---|---|---|
| A | app.example.com | Your 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:
- Go to Settings → Platform → Network & Domains.
- Set the Let's Encrypt Email field.
- Save.
Step 3: Add domain in QuickStack
- Open the app in the Project Canvas and go to Settings → Networking.
- Click Add Domain.
- 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)
- Hostname —
- 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
| Problem | Action |
|---|---|
| Domain does not resolve | Wait for DNS propagation; verify A record |
| App not reachable | Check that App Port matches the container's listening port |
| HTTPS certificate fails | Confirm Let's Encrypt email is set in Settings → Platform → Network & Domains |
| App still shows HTTP | Verify "Redirect HTTP to HTTPS" is enabled and you redeployed |
For more detail
- Full custom domains guide — DNS options, multiple domains, troubleshooting
- QuickStack.me domain — free built-in subdomain with automatic HTTPS