Railway

Deploy furvoley

Furvoley is a full-stack management CRM for sports clubs.

Deploy furvoley

Just deployed

Just deployed

/var/lib/postgresql/data

Just deployed

Deploy and Host Furvoley on Railway

Furvoley is a full-stack management CRM for sports clubs. It handles members and squads, recurring dues through Stripe Connect, double-entry accounting and invoicing, events with convocations and attendance, a club store, a member portal, and WhatsApp automations — all from a single Next.js app backed by PostgreSQL.

About Hosting Furvoley

Furvoley ships as a Dockerized Next.js 16 app that needs a PostgreSQL database, a stable public URL, and a handful of secrets. The start script runs prisma db push and bootstraps the admin user on every boot, so the schema converges without a manual migration step. Stripe webhooks self-register from the public URL the first time the CRM is opened, and a scheduled job calls /api/jobs/billing to issue recurring dues. Optional extras add moving parts: a mounted volume to persist the Hermes WhatsApp agent session, and a second service running the same image as a central portal when you host several clubs from one deployment.

Common Use Cases

  • A volleyball or amateur sports club managing members, squads, coaches and monthly dues from one panel instead of spreadsheets
  • An academy or federation charging recurring fees with Stripe Connect while keeping compliant invoicing and double-entry accounting
  • A multi-club operator hosting several clubs from a single deployment, with a central login portal and one isolated database per club

Dependencies for Furvoley Hosting

  • A PostgreSQL database (accessed with Prisma 7 via @prisma/adapter-pg)
  • A Stripe account (secret key; Stripe Connect for per-club payouts)
  • An ApiWass API key — optional, only for the WhatsApp CRM and messaging flows
  • An LLM provider key, Ollama Cloud or DeepSeek — optional, only for the Hermes agent
  • A Railway volume mounted at /root/.hermes — optional, persists the WhatsApp session

Deployment Dependencies

Implementation Details

Minimum environment variables for a single-club deployment:

VariablePurpose
DATABASE_URLConnection string from the Railway PostgreSQL service
NEXTAUTH_SECRETSession signing secret (openssl rand -base64 32)
NEXTAUTH_URL / NEXT_PUBLIC_APP_URLYour public Railway URL
STRIPE_SECRET_KEYPayments; webhooks are auto-created from the public URL
ADMIN_EMAIL / ADMIN_PASSWORDAdmin account, re-synced on every boot
CRON_SECRETBearer token guarding /api/jobs/billing

Build and start are plain npm scripts — no custom Railway config needed:

"build": "prisma generate && next build",
"start": "node scripts/start-with-db-sync.cjs"

To host multiple clubs, deploy the same image a second time with PORTAL_CENTRAL_HOST=true, PORTAL_ADMIN_PASSWORD and PORTAL_SSO_SECRET. That service becomes the central login and provisions one tenant_ database per club, while the CRM service runs with MULTITENANT=true.

Why Deploy Furvoley 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 Furvoley 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

More templates in this category

View Template
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
23
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51