Learn to Code via Tutorials on Repl.it

← Back to all posts
How to use a custom domain
dotcomboom (58)

In case you've worked with repl.it before, you may have noticed that you are given a decently long subdomain for your project, like the following:
my-little-blog--dotcomboom.repl.co

You may have wanted to change that into a shorter, more memorable domain name, like this: mylittleblog.cf

Let's see how.

Getting your domain

This section will cover registering a domain name with Freenom. If you already have a domain, skip this part.

A word on Freenom

You don't own it

Freenom hands a selection of domain names out like free candy. If you've heard of dot.tk, it's these guys. In this tutorial I'll walk you through them, but I'd also like to point out that by registering a domain name with Freenom, you are still not entitled to it. It's perfectly valid and legal for them to all of a sudden deactivate your domain and use it to make money with ads, without notification. This is just a fair warning, some people have had domains from Freenom for a long time without any issues, but anything can happen. In short, nothing could be actually free. You are borrowing Freenom's domains for your purposes, and don't own them like you would from another registrar.

HTTPS

If you use Freenom, you won't be able to use HTTPS. You need to use "http://" before your domain instead. You will still be able to use your repl.co domain name if you need to use HTTPS, so make note of that. As https://repl.it/@turbio pointed out, HTTPS does work with a Freenom domain! You just need to wait a little bit of time for it to get set up. As for "mission critical" applications, like, say, Uptime Robot or something like that, you will probably want to use your repl.co domain.

Registering the domain

You will want to make or log into a Freenom account first. Then, you will be brought to the Client Area. Once you're signed in, you will find "Register a New Domain" under the Services menu.

This will bring you to Freenom's domain search. Type in the name you want. In this example, I searched for "mylittleblog". It will give you a list of what domains they have available.

Choose the one you want, then scroll down to the bottom and choose "Checkout". Don't touch the section in the middle, we'll cover that later. Choose the period you'll be using the domain, which is from 3 months to 12 months. (If memory serves, when you're going close to the due date, you are offered the opportunity to renew.)

Check the box to agree to the Terms and Conditions (reading them is a good idea too) and complete the order. Then, go back to your client area.

Attaching to repl.it

Repl.it setup

Go to your repl and click on the pencil icon next to the address in the preview pane.

Type in your domain name and if the domain is registered correctly, it will prompt you to add a CNAME record to your domain:

Copy where the record should point to, then go to your client area at your registrar (in my case, Freenom).

Registrar setup

From My Domains, go to the management page for the domain you chose. From Management Tools, choose Nameservers. Make sure it is checked to use default nameservers.

Then, find the area where you can add records; for Freenom, it is "Manage Freenom DNS". In the Name textbox, enter your domain name, nothing more, nothing less. Change the type to CNAME. Then, set the target to what repl.it asked you. Then, choose Save Changes.

Finish

Now go back to your repl. Repl.it now should have noticed that your domain is set up correctly and now lets you click on the Link button.

You're done! Your domain should now be attached to your repl.

Commentshotnewtop
Scoder12 (341)

I was having the issue of where its saying "CNAME records should have a name set! " but I just used www for the name and it worked as long as I put www.mydomain.tld in repl instead of just mydomain.tld

ayuubOmer (2)

@Scoder12 Thanks that really helped me!

timmy_i_chen (988)

Thanks for writing this up! Solid!

Coder100 (177)

The REPL doesn't connect for some reason :(

Tricksyz (8)

@Coder100 what do you mean it doesn't connect? Does the repl not load even with the default URL? Is it not detecting the CNAME record?

Coder100 (177)

@Tricksyz It's not detecting the CNAME record :(
Sometimes it does work, but I think I got the REPL wrong: http://cma-chat.cf/

Tricksyz (8)

@Coder100 Since CNAME doesn't support root domains, you will have to change the name in Freenom to www. Then, when you're linking the domain on repl.it, type in www.cma-chat.cf. It should work then.

turbio (57)

This is super cool!
I want to mention though that HTTPS should work just fine. The first time you visit your domain it might take a few seconds to get a cert, but after that, it'll be fast forever. Let us know if you ran into any problems getting https to work.

dotcomboom (58)

@turbio Thanks for pointing that out! I'll update the tutorial.

Scoder12 (341)

I would really advise against using freenom's built-in DNS and using a provider such as cloudflare instead. Aside from cloudflare many additional features (many of which are less useful on repl.it but still really good) it allows you to change the DNS root values unlike freenom and allows you to specify an automatic TTL. Just make a clouflare account, put in your freenom domain, log into freenom, and change your nameservers to the ones clouflare provides for you. I fully recommend it to anyone trying this.

dotcomboom (58)

@Scoder12 Will definitely give this a shot sometime! If I could pin this, I would, since that'd solve the issue with needing to use a subdomain for the CNAME record.

TacoCode (4)

EDIT: Looks like it just needed som time. It works now

When i paste in my domain, and i know its all correct, repl.it says they can't find the domain, even though i know i have registered the domain correctly. I have also added a CNAME record with this info: tacocode.tk, CNAME, 3600, and the CNAME string. Does anyone know why this doesn't work?

AngelinaMay (0)

I got this error after following the instructions with NameCheap: "Tried to reach our servers but we got an unexpected host header, is there a proxy in the way?"
What might I be missing?

VincentKok (0)

it gives an error on repl where it says we ran into an internal error.

Will_builder8 (3)

It has been a while and it is still looking, what is going on?

briantuju (0)

This has saved me from a tone of headaches.

Thank you

freddyamarsden (17)

How long does it take to link? Its not really working

ML1012018ZHENG (0)

i got DNS Management is temporarily unavailable. Please try again in a minute. Can anyone help

26325001 (18)

How long does it take for the site to be deployed? (I am looking at a 404, waiting for my site)

themaka (178)

@26325001 Last time I did it, it took about 15 minutes, but it could take a couple of hours depending on the systems being used.

lolfail (22)

But when renewing do we have to pay for it?

freddyamarsden (17)

I am having a problen with the last part. Even though I enter a valid name, this still comes up

chocolatejade42 (16)

I am having the same problem @dotcomboom do you know what is wrong?

ssebastianoo (0)

@freddyamarsden replace the actual name with www, next your domain will be www.<name>.mlbut it will work

13_1_20_20_5_23 (0)

i got an error saying that cname record must have a name set. I used freenom

freddyamarsden (17)

@13_1_20_20_5_23 Same, I might contact custom support