Build Your Own Community Website with Nostr
As someone who’s been organizing the Lexington Bitcoin Meetup for over a decade, I’ve experienced the limitations of platforms like Meetup.com firsthand. The value they provide doesn’t justify the cost, and frankly, our most engaged members don’t come from random Meetup discoveries. When they do, they’re often more disruptive than productive.
But communities need a central hub—somewhere to direct members and share information. That’s why I built this tool: to help your group create a custom website that you control, powered entirely by nostr and potentially hosted for free.
What You Get
Your community website will include:
-
Event listings - Automatically pull upcoming events from nostr
-
Blog section - Showcase articles from your npub or curated authors
-
About page - Tell your story with a dedicated long-form post
-
Donation page - Accept Lightning tips via nostr zaps
-
Community forum - Social interaction using NIP-72 groups
-
Custom domain - Your own web address (optional)
All powered by nostr events that you control.
Quick Start: Free Hosting on GitHub
The easiest way to get started is with GitHub Pages, which provides free hosting and a simple setup process.
Step 1: Create Your GitHub Account
-
Go to github.com and create a free account
-
Navigate to the project repository
-
Click “Fork” to copy the project to your account
Step 2: Enable GitHub Pages
-
In your forked repository, click Settings
-
Scroll down to Pages in the sidebar
-
Under “Build and deploy,” set Source to “GitHub Actions”
-
(Optional) Add your custom domain in the “Custom domain” field
Note: If adding a custom domain, GitHub will provide DNS setup instructions.
Step 3: Configure Your Site
-
In your repository, find the file called
example.env -
Copy all the contents
-
Click Add file → Create new file
-
Name the file
.envand paste the copied contents
Now let’s configure each section:
Basic Information
VITE_MEETUP_NPUB=your_community_npub_here
VITE_SITE_TITLE=Your Community Name
VITE_SITE_DESCRIPTION=Brief description of your community
Start by generating an npub (nostr public key) specifically for your community if you don’t have one already. You’ll also need to set your site’s title and description as these are the only required fields for the site.
About Page
VITE_ABOUT_NADDR=your_about_post_naddr
Create a long-form article using a nostr client like Primal:
-
Go to Primal’s “Read” section
-
Publish an article titled “About” describing your community
-
Copy the
naddrfrom the URL (the part afterprimal.net/reads/naddr)
Blog (Optional)
VITE_ENABLE_BLOG=true
VITE_BLOG_AUTHORS=additional_npub1,additional_npub2
Set to false if you don’t want blog functionality. If enabled, all long-form posts from your main npub will appear. Add other authors’ npubs (comma-separated) to include their posts.
Events
VITE_ENABLE_EVENTS=true
VITE_ENABLE_RSVP=true
Set to false if you don’t want event functionality. To add events:
-
Use a NIP-52 compatible client like NostrCal.com or Plektos.app
-
Create public events using your community’s npub
-
Events will automatically appear on your site
Community Forum (Optional)
VITE_COMMUNITY_ID=your_community_id
To enable NIP-72 community features:
-
Go to Chorus.Community with your community npub
-
Create a new group
-
Copy the URL after
/group/ -
Replace
%3Awith:in the copied text
Example: 34550:433788cd...73ef09:your-community-name
Final Settings
VITE_ENABLE_DONATION_PAGE=true
VITE_DEFAULT_RELAYS=wss://relay1.com,wss://relay2.com
The donation page uses the Lightning address associated with your main npub. Add your preferred Nostr relays (comma-separated).
Step 4: Deploy
-
Click Commit changes to save your
.envfile -
Wait a few minutes for GitHub to build your site
-
Look for the “Deployments” section in your repository sidebar
-
Once it shows green, visit your site at
https://yourusername.github.io/repositoryname/
Keeping Your Site Updated
The beauty of this system is that most updates happen automatically:
-
New events - Create them on any NIP-52 client, they’ll appear immediately
-
Blog posts - Publish long-form content on nostr, it syncs automatically
-
Community posts - Activity in your NIP-72 group shows up on the community page regardless of the client used
Only changes to site configuration require updating the .env file, which triggers an automatic rebuild.
Next Steps
-
Share your new website URL with community members
-
Start creating events and blog content on nostr
-
Customize the appearance by modifying the .env for some of the appearance settings
-
Consider running on your own server for full control
Bugs?
This was just deployed yesterday and so far has only really been tested on lexingtonbitcoin.org. If you run into any bugs please don’t hestitate to write me on nostr. I’m more than happy to help you troubleshoot your deployment or try to fix bugs that might show up. I’m sure there’s still going to be plenty!