Host a static site on your own subdomain
Uploading a ZIP, size limits, HTTPS and what you may publish
Full guideFree 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.Full guideHow 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.Full guideWhere 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.Full guideJunior 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.Full guidePublish your site from GitHub or GitLab without buying a domainImport a repository, serve it on your own name and redeploy on every push. No build server, no DNS and HTTPS included.Every subdomain has two serving modes, the classic redirect or a small static site. You switch the mode from your panel and upload a ZIP, or manage the files one by one from the built-in explorer. Then word.does.software will serve it over HTTPS.
index.html is the front door, and if you include a 404.html we'll use it for pages that don't exist. Deploys are atomic, the new version replaces the old one in one go.
Subdomains › Configure subdomain › Redirect / website › Serving mode: Website
During the trial and on the Starter plan you get 100MB per site and 1000 files. With the Pro plan it's 300MB and 5000 files. The free plan doesn't include web hosting. A single file can weigh up to 15MB on any plan. The usage bar in the file manager tells you where you stand.
Static files only, HTML, CSS, JS, images, fonts and company. There's no server-side code here, a .php doesn't run, it simply isn't accepted.
Subdomains › Configure subdomain › Redirect / website › Your files
Anything that respects the acceptable-use policy in the Terms. No phishing, no malware, no spam bait and nothing illegal. Any visitor can report a site. Every report is read by a person, and we can take an offending site down with no notice.
Yes, every subdomain is served over HTTPS automatically, both the redirects and the hosted sites. There's nothing to configure and no certificates to manage, it comes with the name.
Yes. In site mode, paste the repository URL from github.com or gitlab.com and we'll download it and publish it. If you want a specific branch, paste the URL that already points at it, otherwise we'll use whatever the repository has by default. Private repositories work too once you connect GitHub or GitLab under account › connections.
By default it's a snapshot, a new push won't change your site on its own. Turn on "deploy automatically on every push" under the linked repository. We'll create a deploy branch (does-software-deploy by default, the name is yours to change) from the imported one and add a webhook to the repository, from then on every push to that branch will republish the site.
Subdomains › Configure subdomain › Redirect / website › Import from a repo
Yes. The file manager in the panel lets you create, edit and delete files one by one, and every change publishes itself. Between ZIPs and single files you can do 10 uploads an hour.
Subdomains › Configure subdomain › Redirect / website › Your files
Because those apps are a single index.html. The routes you see (/about, /projects/3) are invented by the router in the browser, they don't exist as files on disk. Clicking around works, but hitting F5 on /about, or sharing that link, asks our server for a file that isn't there, and the visitor ends up on the error page.
It's fixed with one checkbox, <b>Single-page application (SPA)</b> in your site's panel. We turn it on ourselves when a deploy looks like one of those apps, so most of the time you won't have to do anything. From then on, any path with no file will serve your index.html with a 200, the app will boot, read the URL and paint the right view. Requests for a real file (Anything with an extension, like /app.js) will still return a normal 404, so a missing asset is still visibly missing.
Subdomains › Configure subdomain › Redirect / website › Single-page application
First check that automatic deploy is on under the linked repository, and that the push went to the linked branch, because a push to any other branch is ignored on purpose. If the webhook was deleted from the repository settings, switch it off and on again and we'll create it anew.
When the push did reach us but the deploy failed, the reason will show up under the repository in your panel, usually a ZIP over the plan's quota or a missing index.html. Fix it and push again, or hit re-import.
Subdomains › Configure subdomain › Redirect / website › Import from a repo
No. We serve the files as they are and we never run a build, no npm install, no compiler, nothing of yours runs on our servers. Importing the repository with the source code leaves a site with no index.html at the root (The real one is inside src/), and visitors will land on the error page. What we need is the build output, the dist/ folder your framework generates.
There are two ways to get it here. The quick one, build on your machine and upload the ZIP of dist/ (On Angular, dist/<app>/browser). The lasting one, turn on automatic deploy (We'll create the does-software-deploy branch and a webhook) and let a GitHub Action build on every push to main and publish dist/ to that branch. From then on every push to main will rebuild and republish by itself. The workflow below does exactly that, save it as .github/workflows/does-software.yml and adjust publish_dir.
name: does.software on: push: branches: [main] permissions: contents: write jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - run: npm ci && npm run build - uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./dist # Angular: ./dist/<app>/browser publish_branch: does-software-deploySubdomains › Configure subdomain › Redirect / website › Import from a repo
Other sections
Still not sure, or your case isn't here? Tell us about it and a person will answer you.
Ask us anything