NewSchokr 13 is here. A whole new UI, seven locations, snapshots and more. Read more →

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.com resolves 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:

TypeNameValue
Aappyour 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: ProxyFix middleware
  • Django: add the domain to ALLOWED_HOSTS and https://app.example.com to CSRF_TRUSTED_ORIGINS
  • FastAPI/uvicorn: --proxy-headers

This keeps client IPs, redirects and secure cookies correct.

Troubleshooting

ProblemCheck
Domain does not resolveDNS record name and value; wait for propagation
Works with IP, not with domainDjango ALLOWED_HOSTS or a host check in your app
Proxy shows 52x or timeout errorsThe proxy is forwarding to the wrong port, or your app is not bound to 0.0.0.0
Redirect loopYour 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.