How to use your own domain for an app on Schokr
Point your own domain at an Schokr app with a DNS record and a proxy service, and how to get HTTPS since Schokr has no built-in TLS.
Updated · 2 min read
Schokr does not have a custom domain feature or built-in HTTPS. Your app is served over plain HTTP at your server's address and port. You can still use your own domain by pointing DNS at the server and, for clean URLs and HTTPS, putting a proxy service in front of it.
What you can and cannot do with DNS alone
DNS maps a name to an IP address. It cannot hide a port number or add HTTPS. With just an A record:
app.example.comresolves to your server's IP.- Visitors still need the port:
http://app.example.com:25571. - There is no HTTPS certificate.
That is fine for an API used by your own tools or a bot dashboard you use yourself.
Step 1: find your server's IP
Open your server's Network section. If the address shown is a host name rather than an IP, look up its IP:
nslookup <server-hostname>
Schokr does not offer dedicated IPs, so this IP is shared with other servers on the same node and may change if your server moves. Check your DNS again if your domain stops working.
Step 2: add an A record
At your domain registrar or DNS provider, add:
| Type | Name | Value |
|---|---|---|
| A | app | your server's IP |
For a host name rather than an IP, a CNAME to the server's host name also works. Wait a few minutes for DNS to update.
Step 3: HTTPS and no port, using a proxy
To get https://app.example.com with no port number, you need something that accepts HTTPS on port 443 and forwards to your server's port. Schokr apps cannot listen on 443 themselves. Options:
- A proxy or CDN service (for example Cloudflare) in front of your domain. Some services can forward to a custom origin port through features such as origin rules, while their default proxy only forwards to a fixed set of ports. Check the provider's documentation for how to route to a non-standard origin port, and whether the feature is on your plan.
- Your own reverse proxy (Caddy, nginx) on a separate machine you control, which terminates HTTPS and forwards to
http://<server-ip>:<port>.
A minimal Caddy config on such a machine:
app.example.com {
reverse_proxy <server-ip>:25571
}
Note the traffic between the proxy and Schokr is plain HTTP unless your app serves TLS itself.
Step 4: tell your app about the proxy
- Express:
app.set('trust proxy', 1) - Fastify:
Fastify({ trustProxy: true }) - Flask:
ProxyFixmiddleware - Django: add the domain to
ALLOWED_HOSTSandhttps://app.example.comtoCSRF_TRUSTED_ORIGINS - FastAPI/uvicorn:
--proxy-headers
This keeps client IPs, redirects and secure cookies correct.
Troubleshooting
| Problem | Check |
|---|---|
| Domain does not resolve | DNS record name and value; wait for propagation |
| Works with IP, not with domain | Django ALLOWED_HOSTS or a host check in your app |
| Proxy shows 52x or timeout errors | The proxy is forwarding to the wrong port, or your app is not bound to 0.0.0.0 |
| Redirect loop | Your app forces HTTPS but sees HTTP from the proxy; enable trust proxy settings |
See also binding to 0.0.0.0 and the right port.