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.
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.
- Check that there's an
index.htmlat the top level of the branch you're going to import. - Check the file types. Only
html, css, js, mjs, json, txt, pdf, webmanifest, the imagespng, jpg, jpeg, webp, gif, svg, icoand the fontswoff, woff2, ttfget published, everything else is dropped. - 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.
- In account, connections, connect GitHub or GitLab. It's the same connection you can sign in with.
- Open your subdomain, go to the site section and choose to import from a repository.
- Pick the repository and the branch. Leave the branch empty to follow whichever is the main one.
- 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.