Recommended Free Tools
To put a custom domain in front of a Docker Compose application deployed by Coolify, point the hostname’s DNS record to the connected server, add the hostname in the resource’s Domains page, select the web-facing Compose service, and enter that container’s internal listening port when it is not the default. Use https:// if you want Coolify’s proxy to obtain and renew a Let’s Encrypt certificate automatically. Then redeploy, inspect the generated Compose configuration, and test the hostname from outside the server.
Antihost offers VPS plans with one-click Coolify, NVMe storage and a 14-day free trial.
What you are configuring
A custom domain in Coolify is a reverse-proxy route, not merely a Docker port publication. A browser requests a hostname such as app.example.com on the normal public web ports. Coolify’s proxy listens on ports 80 and 443, matches the configured hostname and optional path, and forwards the request across an attached Docker network to the selected container.
As an Amazon Associate I earn from qualifying purchases.
The Coolify control plane does not relay your application’s traffic. The proxy and the application resource communicate over Docker networking on the server where the resource runs. That distinction explains why DNS, service selection, the internal port, the proxy, and the firewall must all agree.
For a Compose resource, Coolify keeps the source Compose definition as the file you edit. During deployment it generates a deployable Compose definition containing normalized runtime settings, networks, labels, and proxy configuration. The generated version is useful for diagnosing routing, but changes intended to persist should be made in the source definition or in the resource settings rather than by editing generated output.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Before adding the domain
Identify the server that runs the resource
The hostname must resolve to the connected server on which the Coolify resource is running. If the resource later moves to another server, the DNS destination must follow it. A record aimed at a different machine cannot reach the Compose service through this Coolify proxy.
Identify the web-facing Compose component
Compose projects commonly contain a web application, a database, workers, and supporting services. A domain belongs on the component that accepts HTTP requests. In Coolify’s domain form, select the receiving non-database service. A database or background worker normally has no browser route to serve, even if it is healthy.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Confirm the container’s listening port
Find the port on which the web process listens inside its container. The illustrative value 3000 is common for development-oriented web applications, but your service may use another port. The value entered with the domain must match the process’s internal listening port and the interface on which that process accepts connections.
Step 1: Point DNS to Coolify’s resource server
Create a DNS record for the hostname you plan to use, such as app.example.com, and direct it to the server running the resource. The exact record type depends on how your DNS provider represents the server address:
- Use the appropriate A record when the server is reached through an IPv4 address.
- Use the appropriate AAAA record when the server is reached through an IPv6 address.
- If your provider uses another supported record form, ensure that it ultimately resolves the hostname to the resource server rather than to a different endpoint.
Do not point only the parent domain if visitors will use a subdomain. The hostname entered in Coolify must be the same hostname that users request and that DNS resolves. Check the result from a network outside the server’s local environment, because a local resolver or split-DNS setup can hide an incorrect public record.
Check DNS before troubleshooting Coolify
Resolve the exact hostname and compare the returned address with the server that runs the resource. For example, resolve app.example.com, not just example.com. Check both address families if you publish both A and AAAA records; an incorrect AAAA record can send some clients to the wrong machine even when the A record is correct.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →DNS changes may not be visible everywhere immediately. Wait until the hostname resolves correctly from an external network before judging certificate issuance or proxy routing. A certificate request made while the name still points elsewhere can fail even when the Coolify settings are correct.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Step 2: Add the hostname in the resource’s Domains page
- Open the Coolify application or service that contains the Compose resource.
- Open its Domains page.
- Choose Add domain.
- Select the scheme:
http://for an unencrypted route orhttps://for a TLS route managed through the proxy. - Enter the complete hostname, such as
app.example.com. - For a Compose project, select the non-database service that should receive the request.
- Enter the internal target port when the web container does not listen on the default expected port.
- Save the domain configuration.
The service choice and port are part of the route. Saving a hostname against a database, worker, or wrong web component can produce a valid-looking domain entry that sends traffic to the wrong process or to a process that cannot answer HTTP requests.
Use a path only when you intentionally share a hostname
Coolify’s Domains settings can include an optional path. A hostname-only route is the simplest arrangement: one hostname sends traffic to one selected service. A path-based route allows different paths to be mapped intentionally, such as one route for a web component and another for a separate component. Treat the path as part of the routing design; an accidental path can make the bare hostname appear to have no route.
Step 3: Set the internal target port correctly
The port associated with a domain is the port inside the selected container. If the process listens on port 3000, enter 3000 as the domain target. Coolify’s proxy receives the public request on port 80 or 443 and forwards it to that internal port over the Docker network.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11This setting does not publish port 3000 on the host. Visitors continue to use the normal web URL, without adding :3000. The proxy handles the public-to-container connection.
| Configuration | What it controls | What a visitor uses |
|---|---|---|
| Domain target port | The listening port inside the selected container, such as 3000 | https://app.example.com on public port 443 |
Compose ports: mapping |
Direct publication of a container port on the server | A host address and published port, if that exposure is intentionally used |
Do not add a host-port mapping merely because the domain form asks for an internal port. Publishing a host port creates a separate access path and can interfere with Coolify’s normal rolling replacement behavior. Use the domain route for proxy access; use host publication only when you deliberately need direct server-port exposure.
Confirm the process is reachable inside the container
The application must actually be listening on the port you enter and on an interface reachable through the container network. A process bound only to an inaccessible local interface can be running while the proxy still cannot connect. If the port is wrong, correct the application’s listening setting or the domain target rather than opening an unrelated host port.
Step 4: Choose HTTP or HTTPS
HTTP
An http:// domain creates an unencrypted route through the proxy. It can be useful for controlled diagnostics or a deliberately non-TLS endpoint, but requests and responses are not protected by HTTPS encryption.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsRank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
HTTPS
Enter the hostname with https:// to use Coolify’s automatic TLS flow. Coolify’s proxy requests and installs a Let’s Encrypt certificate and renews it before expiry when DNS and reachability are valid. The certificate process depends on the hostname resolving to the correct server and the proxy being reachable from the public network.
| Choice | Encryption | Certificate handling | Use when |
|---|---|---|---|
http:// |
No transport encryption | No automatic TLS certificate for that route | You intentionally need an unencrypted endpoint or are isolating a routing problem |
https:// |
Encrypted client-to-proxy connection | Coolify requests, installs, and renews a Let’s Encrypt certificate when validation succeeds | The hostname is publicly resolvable and you want the normal secure web route |
Adding the HTTPS entry before DNS is correct can leave certificate issuance waiting or failed. Correct the DNS destination and public reachability first, then allow the proxy to retry or redeploy as appropriate.
Step 5: Save, redeploy, and inspect the generated configuration
- Save the domain and service settings.
- Redeploy or restart the resource so the proxy route and generated runtime configuration are applied.
- Open Show Deployable Compose.
- Check that the selected service, attached networks, labels, and domain-related settings correspond to the route you intended.
- Make an HTTPS request from outside the server to the hostname.
The deployable view is a diagnostic representation of what Coolify will run. It can reveal that the proxy network is missing, the wrong Compose component was selected, or the domain settings did not reach the generated labels. Keep the source Compose definition as the authoritative file for Compose edits; use the deployable view to verify what Coolify generated from it.
Verify from an external network
Test from a machine that is not relying on the server’s local routing. A simple request such as curl -I https://app.example.com can confirm whether the public hostname answers and can expose the response headers for inspection. If you need to see the response body, use a normal HTTPS request without the -I option.
The important check is not merely that a TCP connection exists. Confirm that the response is from the intended Compose component, rather than from a default proxy response, another resource, or a service reached through an unintended host-port mapping.
How the request flows
- The client resolves the custom hostname through DNS.
- The client connects to the resource server on public port 80 for HTTP or 443 for HTTPS.
- Coolify’s reverse proxy reads the hostname and any configured path.
- The proxy selects the matching route and the Compose service attached to it.
- The proxy forwards the request across the attached Docker network to the service’s internal target port.
- The selected container returns the response through the proxy to the client.
Because the control plane is not in the application’s traffic path, a control-plane page can be reachable while an application domain is not. Diagnose the public DNS record, proxy, Docker network, service, and internal port as separate links in the chain.
Single-hostname and path-based routing
| Routing model | Configuration | Best fit | Main risk |
|---|---|---|---|
| Single hostname | One hostname mapped to one selected Compose service | A conventional web application or API with its own domain | Choosing the wrong service sends all requests to the wrong component |
| Path-based | A hostname plus an optional path mapped to a selected service | Several intentional routes sharing one hostname | An incorrect or unexpected path prevents the request from matching the route you meant to test |
Use a separate hostname when you want the clearest boundary between services. Use a path only when the applications are designed to coexist under that path and you have explicitly configured each route.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Troubleshooting: no route, wrong response, or failed certificate
DNS resolves to the wrong server
Symptom: The domain shows an unrelated site, a timeout, or a certificate for another machine.
Check: Resolve the exact hostname externally and compare every returned A and AAAA address with the server running the Coolify resource. Correct stale or conflicting records at the DNS provider. If one address family is correct and the other is not, fix the incorrect record rather than assuming all clients will use the working address.
The domain is attached to the wrong Compose service
Symptom: The proxy responds, but the content is empty, a database protocol is visible, or a worker does not provide an HTTP response.
Check: Reopen the Domains settings and select the receiving non-database web service. Inspect Show Deployable Compose to verify that the hostname and labels reference that component. Redeploy after correcting the selection.
The internal target port is wrong
Symptom: DNS and the proxy appear healthy, but the request cannot reach the application or returns a gateway-style failure.
Check: Compare the domain’s target port with the port on which the process listens inside the container. For a service listening on 3000, the domain target must be 3000. Also confirm that the process listens on an interface reachable through the Docker network. Do not solve this by publishing an arbitrary host port.
The proxy or firewall is unavailable
Symptom: The hostname resolves correctly, but external connections to HTTP or HTTPS time out.
Best Value
Check: Confirm that Coolify’s proxy is enabled, that the server firewall permits public ports 80 and 443, and that the proxy can attach to the resource’s Docker network. A container can be healthy while the public route remains unreachable if either the firewall or proxy-network attachment blocks the path.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Certificate issuance or renewal fails
Symptom: An HTTPS domain has no valid certificate, or certificate issuance reports a validation error.
Check: Verify that the hostname resolves to this server from outside, that public port 80 or 443 is reachable as required by the proxy’s validation flow, and that the proxy is running. Inspect proxy logs for the certificate error, correct DNS or reachability, and redeploy or retry after the changes are visible publicly.
Changes were made only in generated output
Symptom: A manual fix appears in the deployable configuration but disappears after the next deployment.
Check: Update the source Compose definition or the Coolify resource setting that produces the generated value. The generated Compose is an output of deployment; it is not the durable source file for your project.
Free tools Windows power users keep installed
One-click scans. No signup required.
Testing is being done only from inside the server
Symptom: A local request succeeds, but users outside the server cannot connect.
Check: Repeat the request from an external network and resolve the public hostname there. Local container or host networking can bypass the public DNS, firewall, and proxy path that real visitors use.
Common configuration mistakes to avoid
- Pointing the hostname at a different server than the one running the resource.
- Entering the domain on a database or worker instead of the web-facing Compose service.
- Using a published host port when the proxy needs only the container’s internal port.
- Entering the host port or public port 443 as the container target when the process actually listens on another internal port.
- Expecting HTTPS certificates before DNS has propagated and the proxy is publicly reachable.
- Editing the generated deployable Compose instead of the source Compose definition or resource settings.
- Forgetting to redeploy after saving the domain route.
- Testing only with an internal address and assuming that proves the public hostname works.
- Adding an unintended path and then testing the bare hostname, which does not match the path-specific route.
A practical decision checklist
- Which server? Confirm the resource’s connected server and point the hostname’s DNS record there.
- Which component? Select the non-database Compose service that actually serves HTTP.
- Which port? Enter the process’s internal container port, such as 3000 when that is where the web process listens.
- Which scheme? Choose
https://for encrypted access and automatic Let’s Encrypt management, provided public DNS and reachability are ready. - Which route? Use a hostname-only entry unless you intentionally need a path-based route.
- What changed? Save and redeploy the resource.
- What was generated? Inspect Show Deployable Compose for networks, labels, service selection, and domain settings.
- Does it work publicly? Resolve and request the hostname from outside the server, then confirm the response belongs to the intended component.
Example configuration scenario
Suppose a Compose project contains a web service that listens inside its container on port 3000, plus a database service. The desired hostname is app.example.com. First, create the DNS record so app.example.com resolves to the server running this project. In the project’s Domains page, add https://app.example.com, choose the web service rather than the database, and set the target port to 3000. Save and redeploy.
Visitors still open https://app.example.com; they do not append :3000. Coolify’s proxy accepts the public HTTPS connection, manages TLS through its certificate flow, then forwards the request over the Docker network to port 3000 in the selected web container. If the request fails, inspect DNS, the selected service, the internal listener, proxy ports 80 and 443, network attachment, and the generated Compose configuration in that order.
What a successful setup looks like
A successful configuration has all of these properties at once:
Quick Recap
- The exact custom hostname resolves publicly to the server running the Coolify resource.
- The Domains page contains that hostname with the intended scheme.
- The selected Compose component is the web-facing, non-database service.
- The optional target port matches the service’s internal listening port.
- The proxy is enabled, can join the resource network, and is reachable on public ports 80 and 443.
- The resource has been redeployed after the route was saved.
- Show Deployable Compose reflects the expected network, labels, and domain route.
- An external HTTPS request returns the intended component rather than a default, unrelated, or direct-host-port response.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




