Publish your site from GitHub or GitLab without buying a domain

Import a repository, serve it on your own name and redeploy on every push. No build server, no DNS and HTTPS included.

Reviewed

On does.software a subdomain can do more than point somewhere else, it can serve the files itself. If your site is already a folder of HTML, CSS and images in a git repository, you can have it running under your own name in about two minutes and keep it in step with the repository from then on.

What you get

Your repository will be downloaded, checked and published under yourname.does.software, served over HTTPS from our servers. There's no DNS to configure and no certificate to renew, because the name is already ours and the wildcard certificate already covers it.

Every publish keeps the previous one, so you'll be able to roll back from the panel when a deploy goes wrong. You also have a file editor in the panel, for the one-line fix you don't want to open a laptop for.

What your repo has to contain

Nothing gets built here. We serve what's in the repository, as it is, so the repository has to hold the finished files, an index.html at the root of the branch you point at, plus everything it loads.

If your project needs a build step, run it where you already run it and commit the output, or push an already built branch. A repository that only contains sources will publish your sources, which isn't what you want.

  1. Check that there's an index.html at the top level of the branch you're going to import.
  2. Check the file types. Only html, css, js, mjs, json, txt, pdf, webmanifest, the images png, jpg, jpeg, webp, gif, svg, ico and the fonts woff, woff2, ttf get published, everything else is dropped.
  3. Check the size. No single file over 15 MB, and the whole site under 100 MB during the trial and on the Starter plan, 300 MB on the Pro plan. The free plan doesn't include web hosting.

Import it

Connect the provider once from your account and the import list will show you your repositories, private ones included.

  1. In account, connections, connect GitHub or GitLab. It's the same connection you can sign in with.
  2. Open your subdomain, go to the site section and choose to import from a repository.
  3. Pick the repository and the branch. Leave the branch empty to follow whichever is the main one.
  4. Publish. The first deploy takes a few seconds, and when it finishes the name will already be serving.

Deploy on every push

Turn on deploy on push and we'll create a deploy branch (does-software-deploy by default) and a webhook in the repository. From then on, every push to that branch will publish a new version on its own.

Only pushes to that exact branch count. A push to another branch, a deleted branch or a tag are ignored, so you can carry on working without publishing half a feature.

If a deploy fails, the site that was already running will keep running. The failure and its reason will show up in the panel, and nothing will be swapped until the new version has been downloaded and checked in full.

Single-page apps and 404s

A framework router needs every URL to return the same index.html. Turn on the single-page application switch and any path that isn't a real file will get index.html with a 200, which is what a client-side router expects.

With the switch off, a path that doesn't exist will look for a 404.html in your own site and will serve it with a real 404. If you don't include one, the visitor will get our error page, which at least tells them the name exists.

The limits

Serving files and redirecting are exclusive. While the site is on, the root redirect and the path rules will still be configured but will stop serving. Email forwarding isn't touched and keeps working at the same time.

The versions kept for rolling back go with the plan, one during the trial, three on the Starter plan, ten on the Pro plan. The file count is capped at 1000, or 5000 on the Pro plan.

If your repository already holds the built site, this is two minutes and the push you were going to make anyway becomes the deploy. If it needs a build step, commit the output first.

Keep reading

Free website hosting: alternatives to GitHub PagesGitHub Pages, Netlify, Vercel and Cloudflare Pages compared. The limits of each free plan, what they will not let you do and how to put your own name on the site.How to make an online CV under your own nameTurn your CV into a web page that reads well on a phone, prints as a PDF and lives at yourname.does.software. With an HTML template to start from.Free .es domain? What actually existsThere is no free .es domain. What is behind the offers that promise one, what to check before paying for a .es and which free options you have for a site with your name.Free domains for students: the options that actually existGitHub Student Pack, free subdomains and does.software. What is free for good, what is free for the first year only and what each option asks of you.Where to publish your final-year project under your own namePut your final project online for the presentation and for your CV. What works for a static site, what to do if it has a backend and how to do it as a group.Junior developer portfolio: what to put in and where to publish itWhat people hiring a junior look at, which projects to include and which to drop, and how to publish your portfolio under your own name so you get found.How to stand out as a junior developer in SpainWhat companies in Spain check before calling a junior, where to look for your first openings and what to do so your application doesn't get lost among a hundred.A link to your CV with your name (and see when it's opened)Put yourname.does.software/cv on your applications. Update your CV without sending it again and see how often it gets opened, even from which application.Free professional email with your nameAn address with your name for your CV, clients and applications, without buying a domain. How to receive for free, how to send from it with Gmail and which plan you need.Linktree or a subdomain with your name: which one suits youLinktree gives you a page of buttons, a subdomain gives you a name of your own with email and paths. What each does, when to pick which and how to use both.The best alternatives to buying a domainFree subdomains, your platform's name, a links page or a well-made profile. Which alternative to buying a domain fits what you actually need.Forwarding or mailbox: setting up email on your subdomainHow to set up a forward or a mailbox on your subdomain, step by step. What each one can do, its limits and which one suits you.Redirects and short links on your own subdomainHow the redirect works, what happens to the query string and how path rules turn a subdomain into a set of short links you can measure.Free subdomain or buy a domain?What you give up, what you save and the cases where a name under does.software is the wrong answer.Freenom has shut down: alternatives for a free domainWhat happened to Freenom's free .tk, .ml and .ga, what options are left for a free domain or subdomain and how not to lose your name again.
Back to the questions