Deploy Octothorpes Relay
Hashtags for websites. A community library for the open web.
oxigraph/oxigraph:latest
Just deployed
/data
octothorp.es
Just deployed
Deploy and Host Octothorpes Relay on Railway
An Octothorpes Relay connects independent websites through the Octothorpe Protocol. Pages ask the relay to index them; it reads the hashtags, links, and terms they already contain, keeps them in a queryable store, and serves them back as a JSON API, RSS, and a small website. Run one for your community, platform, or webring.
About Hosting Octothorpes Relay
A relay is two services: the app itself and an Oxigraph triplestore, kept private on Railway's internal network with a persistent volume so indexed data survives redeploys. The template wires the app's public domain in automatically, so setup is short: connect SMTP credentials for registration email, set an admin secret, and pick a registration mode — open (auto-verify on first index) or approval, moderated from the relay's own /admin form.
Common Use Cases
- Power a community event: every site made for Weird Web October lists itself under the
#weirdweboctoberhashtag. - Put hashtags on blog posts: a single `` element tags a post.
- Create webrings: empower community connections with OP webrings.
Dependencies for Octothorpes Relay Hosting
- SMTP credentials (any provider, Fastmail, Postmark, Gmail, etc…) for registration and admin notification email.
Implementation Details
Key variables the template exposes (the full set lives in .env.railway.example and docs/railway-deploy.md):
ADAPTER=node # pre-filled
sparql_endpoint=http://oxigraph.railway.internal:7878 # private triplestore, pre-filled
instance=https://${{RAILWAY_PUBLIC_DOMAIN}}/ # wired to your generated domain
registration_mode=approval # or "open" to auto-verify on first index
admin_secret= # enables the /admin form and JSON endpoints
smtp_host= # registration request email
admin_email=
The Oxigraph service runs serve --location /data --bind [::]:7878 with a volume at /data and no public domain. Approvals and bans are also scriptable: POST /admin/approve, /admin/ban, and /admin/unban with the admin secret as a Bearer token.
Why Deploy Octothorpes Relay on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Octothorpes Relay on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
oxigraph/oxigraph:latest
ghcr.io/oxigraph/oxigraph:latestoctothorp.es
stucco-software/octothorp.essmtp_user
How do you send emails?
admin_email
What email should we send to for registration requests?
robot_email
Who do you send emails as?
admin_secret
Use this as a secret password to perform /admin actions for your instance.
smtp_password
you know, for sending emails
