Expose an App (Domain + HTTPS)
This tutorial shows the fastest path to making a deployed app publicly accessible on a domain with HTTPS.
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 → QuickStack Server → Networking / Traefik.
- Set the Let's Encrypt Email field.
- Save.
Step 3: Add domain in QuickStack
- Open your app and go to the Domains tab.
- 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 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.
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 → Networking / Traefik |
| 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