Skip to content

About

The Noebs website and Android demo downloads

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Noebs website

This repository generates noebs.sd, including the public Android wallet download links. Signed APKs and checksums are published separately in tutipay/android-releases.

The repository was transferred from adonese/userbase-homepage to noebs/website with its history preserved. It was adapted from the Userbase homepage; the original MIT license remains in LICENSE.

Structure

Development

Use Node 24 with npm 11 for the commands below. The locked website generator requires Node 12.22.12 and npm 6.14.16; the commands invoke those versions in isolation. Cloudflare serves the resulting static files, with no Node server.

git clone https://github.com/noebs/website.git
cd website

# Install exactly the locked dependencies and generate dist/.
npm run build:static

# Start the development server at http://localhost:3000.
npm exec --yes --package=node@12.22.12 --package=npm@6.14.16 -- npm start

Production

npm run build:static

This runs a clean locked install before building dist/. Installing the locked sharp@0.22.1 dependency directly with Node 24 fails; keep the build wrapper until the generator dependencies are upgraded together.

Cloudflare Pages deployment

Deploy the generated dist/ directory with Wrangler 4.131.0 running under Node 24. The existing Pages project is userbase-homepage, its production branch is master, and its domains are userbase-homepage.pages.dev and noebs.sd. The Pages project retains its historical name after the GitHub repository move. Its deployment configuration is checked in as wrangler.toml.

Deployments currently use Wrangler uploads from this repository. Cloudflare's existing Git integration does not follow a repository transfer; its old native Git triggers are disabled. See Cloudflare's transfer guidance. Git pushes alone do not deploy the site. External CI can use the same upload command below with a Pages deployment credential.

The saved Cloudflare build settings are npm run build:static, output directory dist, and build image v3. Both preview and production use NODE_VERSION=24.18.0 and SKIP_DEPENDENCY_INSTALL=true, so the wrapper controls the locked install. vercel.json disables the previous Vercel Git deployments.

# Authorize the Cloudflare account that manages noebs.sd.
npm exec --yes --package=wrangler@4.131.0 -- wrangler login --device
npm exec --yes --package=wrangler@4.131.0 -- wrangler whoami

# Select the account that owns noebs.sd, especially with multiple memberships.
export CLOUDFLARE_ACCOUNT_ID='<account-id>'
npm exec --yes --package=wrangler@4.131.0 -- wrangler pages project list

# Commit the intended source before deploying it.
test -z "$(git status --porcelain)"
npm run build:static
npm exec --yes --package=wrangler@4.131.0 -- wrangler pages deploy dist \
  --project-name userbase-homepage \
  --branch master --commit-hash "$(git rev-parse HEAD)"

For a preview before production, run the deploy command with --branch cloudflare-preview and verify the returned preview URL first.

Verify https://noebs.sd/#android-wallet, /docs/, the APK release link, and a missing URL returning HTTP 404 after deployment. The build emits a top-level dist/404.html so Pages handles this as a multi-page site. The APKs remain GitHub release assets; only website files go to Pages. Wrangler credentials belong in the local credential store, outside Git and dist/. Cloudflare can also accept manual Wrangler deployments for an existing Git-integrated Pages project.

The 2026-09-11 deployment record records the production deployment, source revision, artifact hashes, browser checks and independent live review. It also records the previous production deployment for rollback through the Pages dashboard.

License

This project is released under the MIT License.

Account signup

The homepage, navigation, pricing and /register/ all use the same account entry at https://api.noebs.sd/account/. The Noebs API gateway hosts the account setup page and its server session. The static website never collects passwords or OAuth tokens. Sign-in, registration, email verification and recovery use the shared Keycloak browser flow; account access and profile setup resume on the server. Publishing the site requires the matching /account/ gateway release and the linked Android release to be available first.

About

The Noebs website and Android demo downloads

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages