
Company News
Andrew Becherer Joins Socket as Chief Information Security Officer
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.
A records for your domain and no CNAME alias for wwwyourdomain-com-notion-proxy[!TIP] A bit outdated but detailed description on how to add your domain to Cloudflare and create a worker is here.
Search for "Step 1: Set up your Cloudflare account".
If someone wishes to create an up-to-date tutorial for NoteHost, please submit a pull request 😉
Go into your working directory and run:
npx notehost init <domain>
Follow the prompts to confirm your domain name and enter the requested information. You can change these settings later via the configuration file.
NoteHost will create a directory with the name of your domain. In this directory you will see the following files:
.
├── build-page-script-js-string.sh helper script, details below
├── package.json test & deploy your website, see realtime logs
├── tsconfig.json types config
├── wrangler.toml your Cloudflare worker config
└── src
├── _page-script-js-string.ts generated by helper script
├── index.ts runs reverse proxy
├── page-script.js your custom JS page script
└── site-config.ts your domain and website config
Go into this directory and run
npm install
Make sure that wrangler is authenticated with your Cloudflare account
npx wrangler login
wrangler.toml and make sure that the name field matches your worker name in Cloudflaresite-config.ts and set all the necessary options: domain, metadata, slugs, subdomain redirects, etc. All settings should be self explanatory, I hope 😊import { NoteHostSiteConfig, googleTag } from 'notehost'
import { PAGE_SCRIPT_JS_STRING } from './_page-script-js-string'
// Set this to your Google Tag ID from Google Analytics
const GOOGLE_TAG_ID = ''
export const SITE_CONFIG: NoteHostSiteConfig = {
domain: 'yourdomain.com',
// Metatags, optional
// For main page link preview
siteName: 'My Notion Website',
siteDescription: 'Build your own website with Notion. This is a demo site.',
siteImage: 'https://imagehosting.com/images/preview.jpg',
// URL to custom favicon.ico
siteIcon: 'https://imagehosting.com/images/favicon.ico',
// Additional safety: avoid serving extraneous Notion content from your website
// Use the value from your Notion settings => Workspace => Settings => Domain
notionDomain: 'mydomain',
// Map slugs (short page names) to Notion page IDs
// Empty slug is your main page
slugToPage: {
'': 'NOTION_PAGE_ID',
about: 'NOTION_PAGE_ID',
contact: 'NOTION_PAGE_ID',
// Hint: you can use '/' in slug name to create subpages
'about/people': 'NOTION_PAGE_ID',
},
// Subdomain redirects are optional
// But it is recommended to have one for www
subDomains: {
www: {
redirect: 'https://yourdomain.com',
},
},
// The 404 (not found) page is optional
// If you don't have one, the default 404 page will be used
fof: {
page: 'NOTION_PAGE_ID',
slug: '404', // default
},
// Google Font name, you can choose from https://fonts.google.com
googleFont: 'Roboto',
// Custom JS for head and body of a Notion page
customHeadJS: googleTag(GOOGLE_TAG_ID),
customBodyJS: PAGE_SCRIPT_JS_STRING,
}
npm run deploy
🎉 Enjoy your Notion website on your own domain! 🎉
[!IMPORTANT] You need to run deploy every time you update
page-script.jsorsite-config.ts.
The file src/page-script.js contains an example of a page script that you can run on your Notion pages.
This example script removes tooltips from images and hides optional properties in database cards.
🔥 This script is run in the web browser! 🔥
You can use document, window and all the functionality of a web browser to control the contents and behavior of your Notion pages.
Also, because this is a JS file, you can edit it in your code editor with syntax highlighting and intellisense!
To incorporate this script into a Notion page, NoteHost must transform the file's contents into a string. Consequently, the build-page-script-js-string.sh script is executed whenever you run npm run deploy.
So just add your JS magic to page-script.js, run deploy and everything else will happen automagically 😎
You can see realtime logs from your website by running
npm run logs
Based on Fruition, which is no longer maintained 😕
Lots of thanks to @DudeThatsErin and her code snippet.
FAQs
NoteHost is a free and powerful Notion hosting service.
The npm package notehost receives a total of 28 weekly downloads. As such, notehost popularity was classified as not popular.
We found that notehost demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.

Company News
Replit is integrating Socket Firewall into its AI-powered development experience to help protect builders from malicious open source packages.

Security News
npm confirmed a tooling bug incorrectly marked several one-character packages as security holders and said it was working on a rollback.