---
title: "Deploy Octothorpes Relay"
description: "Hashtags for websites. A community library for the open web."
category: "Other"
url: https://railway.com/deploy/octothorpes-relay
---

# Deploy Octothorpes Relay

Hashtags for websites. A community library for the open web.

**[Deploy Octothorpes Relay on Railway](https://railway.com/template/octothorpes-relay)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/octothorpes-relay/manifest.json

- **Creator:** Stucco Software
- **Category:** Other

## Template content

### oxigraph/oxigraph:latest

- **Image:** ghcr.io/oxigraph/oxigraph:latest
- **Start command:** `serve --location /data --bind [::]:7878`

### octothorp.es

- **Source:** stucco-software/octothorp.es

## Documentation

# 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](https://weirdweboctober.website/) lists itself under the [`#weirdweboctober`](https://octothorp.es/~/weirdweboctober) hashtag.
- Put hashtags on blog posts: a single `` element tags a post.
- Create webrings: empower community connections with [OP webrings](https://docs.octothorp.es/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`](../.env.railway.example) and [`docs/railway-deploy.md`](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.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/octothorpes-relay
