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 https://hostr.co
  • JavaScript 40.7%
  • EJS 28.1%
  • HTML 15.8%
  • SCSS 11.3%
  • CSS 3.6%
  • Other 0.4%
Find a file
Jonathan Cremin 2ba6fa0dd2
All checks were successful
ci / build-image (push) Successful in 1m23s
Fix upgrade for @koa/bodyparser
2026-02-21 20:46:24 +00:00
.forgejo/workflows Disable ci tests for now, add otel 2025-10-07 20:26:22 +01:00
.vscode Fix linting 2018-06-02 18:20:05 +00:00
api Minor fixes for library upgrades. 2026-02-12 18:16:54 +00:00
lib Minor fixes for library upgrades. 2026-02-12 18:16:54 +00:00
models Modernize codebase: ES modules, Redis v4, remove worker 2026-02-12 17:53:26 +00:00
test Minor fixes for library upgrades. 2026-02-12 18:16:54 +00:00
web Fix upgrade for @koa/bodyparser 2026-02-21 20:46:24 +00:00
.dockerignore Update dependencies 2019-06-08 07:52:57 -07:00
.envrc.example Remove sentry 2025-10-08 09:28:16 +01:00
.gitignore Fix tests, run against ci 2025-06-13 09:39:47 +01:00
.gitlab-ci.yml More changes for db migration 2016-08-07 14:38:05 +01:00
app.js Modernize codebase: ES modules, Redis v4, remove worker 2026-02-12 17:53:26 +00:00
CHECKS Initial commit. 2015-08-03 22:06:40 +01:00
Containerfile Update node version to 22.16 2025-06-12 16:07:15 +01:00
docker-compose.yml Modernize codebase: ES modules, Redis v4, remove worker 2026-02-12 17:53:26 +00: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 Fix tests, run against ci 2025-06-13 09:39:47 +01:00
nginx.conf.sigil Update stuff 2018-06-02 15:50:39 +00:00
package.json Upgrade ejs 3→4, mime-types 2→3, redis 4→5; remove ejs-lint 2026-02-12 18:15:49 +00: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 Upgrade webpack 4→5 and remove jQuery 2026-02-12 17:53:47 +00:00
yarn.lock Upgrade ejs 3→4, mime-types 2→3, redis 4→5; remove ejs-lint 2026-02-12 18:15:49 +00: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.