---
title: "Deploy atproto statusphere app"
description: "A minimal demo of an end-to-end atproto application"
category: "Starters"
url: https://railway.com/deploy/atproto-statusphere-app
---

# Deploy atproto statusphere app

A minimal demo of an end-to-end atproto application

**[Deploy atproto statusphere app on Railway](https://railway.com/template/atproto-statusphere-app)**

- **Creator:** Samuel Newman's Projects
- **Category:** Starters
- **Total deploys:** 3

## Template content

### statusphere-react

- **Source:** https://github.com/mozzius/statusphere-react
- **Start command:** `node ./packages/appview/dist/index.js`
- **Health check:** /health
- **Public domain:** Yes

## Documentation

# Deploy and Host Statusphere on Railway, a minimal but complete atproto app

Statusphere is a minimal [atproto](https://atproto.com) app. You can build your own by [following the tutorial](https://atproto.com/guides/applications). This template runs a fork of that tutorial, which splits it into a Vite/React SPA frontend, and a Node.js backend. The database is a SQLite file stored in persistent railway volume.

The code for `statusphere-react` can be found here:
https://tangled.org/@samuel.bsky.team/statusphere-react

## Common Use Cases

- Show off your first atproto application
- Create the next generation of social apps!

## About Hosting Statusphere

Atproto app generally require using long-running websockets, and therefore are a poor fit for serverless hosting platforms. Since Railway lets you run a persistent service, it's the perfect way to get started.

Aggregating every Statusphere Status event in the atproto network costs approximately $1.50 per month, which fits comfortably in the Railway hobby plan. Your mileage may vary, especially if you want to start aggregating Bluesky-related records.

## Dependencies for Statusphere

- Frontend (`client`)
  - Vite
  - React
  - React Router (SPA)
- Backend (`appview`)
  - Node.js
  - Express/`@atproto/xrpc-server`
  - Jetstream (lightweight atproto firehose)
  - SQLite

### Deployment Dependencies

You need to fill in 3 environment variables: `COOKIE_SECRET`, `PUBLIC_URL`, and `HOST`

#### `COOKIE_SECRET`

A 32 character random string. You can generate one by running `openssl rand -base64 32` in your terminal.

#### `PUBLIC_URL`

The URL of your site, for example `https://statusphere.example.com`

#### `HOST`

The hostname of your public URL, for example `statusphere.example.com`

## Why Deploy Statusphere 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 Statusphere 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

- [open-excalidraw](https://railway.com/deploy/open-excalidraw) — Self-hostable collaborative drawing built on Excalidraw
- [caring-vibrancy](https://railway.com/deploy/caring-vibrancy) — Deploy and Host caring-vibrancy with Railway
- [Appsmith](https://railway.com/deploy/appsmith-1) — Low-code platform for internal tools, dashboards, and admin panels.

Open this page in a browser: https://railway.com/deploy/atproto-statusphere-app
