A project I started around twenty years ago when I set out to learn web development. Since then it's seen over 100,000 signups and served up over 2 billion file downloads https://hostr.co
  • JavaScript 46.1%
  • EJS 27.9%
  • SCSS 14.7%
  • HTML 5.5%
  • CSS 4.7%
  • Other 1.1%
Find a file
Renovate Bot d3bb258161
All checks were successful
ci / build-image (push) Successful in 2m36s
ci / test-image (push) Successful in 11s
Update dependency nodemailer to v8.0.10
2026-06-08 09:19:21 +00:00
.forgejo/workflows Switch to podman for ci 2026-06-08 09:59:58 +01:00
.vscode Fix linting 2018-06-02 18:20:05 +00:00
api Fix tests, update deps 2026-04-14 22:56:54 +01:00
lib Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
models Stripping out old features 2026-04-13 10:36:40 +01:00
test Send auth with form for test 2026-05-30 16:33:55 +01:00
web Switch from Koa to Hono 2026-04-14 22:37:00 +01:00
.dockerignore build: multi-stage Containerfile with a slim runtime image 2026-05-30 18:07:04 +01:00
.envrc.example Switch from Sendgrid to SMTP 2026-04-14 21:20:58 +01:00
.gitignore Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
app.js Switch from Koa to Hono 2026-04-14 22:37:00 +01:00
CLAUDE.md Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
Containerfile build: multi-stage Containerfile with a slim runtime image 2026-05-30 18:07:04 +01:00
docker-compose.yml build: multi-stage Containerfile with a slim runtime image 2026-05-30 18:07:04 +01:00
eslint.config.js Migrate ESLint 8→10 to flat config 2026-02-12 17:54:04 +00:00
LICENSE Add a license 2016-05-24 19:37:12 +01:00
Makefile Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
package.json Update dependency concurrently to v10 2026-06-05 14:36:46 +00:00
pnpm-lock.yaml Update dependency nodemailer to v8.0.10 2026-06-08 09:19:21 +00:00
pnpm-workspace.yaml build: move pnpm overrides into pnpm-workspace.yaml 2026-05-30 17:31:33 +01:00
README.md docs: drop Babel from README now that the build uses esbuild 2026-05-30 17:33:11 +01:00
renovate.json Add renovate.json 2025-06-11 15:51:29 +00:00
webpack.config.cjs build: replace babel-loader with esbuild-loader 2026-05-30 17:30:16 +01:00

Hostr

About

Hostr is a project I started over ten years ago when I set out to learn web development. Since then it's seen over 100,000 signups and served up over 2 billion file downloads.

It has been through many iterations, but in its current incarnation Hostr uses Hono for the backend, and React and Webpack for the frontend.

Getting Started

Dependencies

Everything is taken care of by a make build.

Enviroment Variable Configuration

See .envrc.example. Copy it to .envrc, modify and source .envrc for development. direnv is pretty nice for doing this automatically when you cd into your work directory.

Usage

Start the app

$ make compose-up

Initialise the environment

$ make init migrate

Run the tests

$ make test

Licence

My primary motivation is to get to work on Hostr in public. Contributions are welcome and all Javascript is Apache licenced, however the brand is not. The brand includes the name, logo images, CSS and marketing HTML.