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.2%
  • EJS 28%
  • SCSS 14.8%
  • HTML 5.5%
  • CSS 4.8%
  • Other 0.7%
Find a file
Renovate Bot c1327d5056
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
ci / build-image (pull_request) Successful in 1m7s
ci / test-image (pull_request) Successful in 35s
ci / build-image (push) Successful in 1m0s
ci / test-image (push) Successful in 9s
Update dependency @opentelemetry/auto-instrumentations-node to ^0.76.0
2026-05-20 19:10:22 +00:00
.forgejo/workflows Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +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 Fix tests, update deps 2026-04-14 22:56:54 +01:00
web Switch from Koa to Hono 2026-04-14 22:37:00 +01:00
.dockerignore Update dependencies 2019-06-08 07:52:57 -07: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
babel.config.json Switch from Angular 1 to React 2026-04-14 21:34:56 +01:00
CLAUDE.md Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
Containerfile Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
docker-compose.yml Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +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 @opentelemetry/auto-instrumentations-node to ^0.76.0 2026-05-20 19:10:22 +00:00
pnpm-lock.yaml Update dependency @opentelemetry/auto-instrumentations-node to ^0.76.0 2026-05-20 19:10:22 +00:00
pnpm-workspace.yaml Upgrade node to 26, switch to pnpm 2026-05-18 15:58:51 +01:00
README.md Lower logging volume 2019-01-13 17:59:03 +00:00
renovate.json Add renovate.json 2025-06-11 15:51:29 +00:00
webpack.config.cjs Switch from Angular 1 to React 2026-04-14 21:34:56 +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 Koa for the backend, Angular and Webpack for the frontend, and Babel for both.

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 docker-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.