---
title: "Deploy furvoley"
description: "Furvoley is a full-stack management CRM for sports clubs."
category: "Other"
url: https://railway.com/deploy/furvoley
---

# Deploy furvoley

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

**[Deploy furvoley on Railway](https://railway.com/template/furvoley)**

- **Creator:** carbollo's Projects
- **Category:** Other

## Template content

### portal

- **Source:** https://github.com/carbollo/furvoley-admin
- **Public domain:** Yes

### Postgres-9NHM https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### crm-mt

- **Source:** https://github.com/carbollo/furvoley-admin
- **Public domain:** Yes

## Documentation

# 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

- [Railway](https://railway.app/)
- [Next.js](https://nextjs.org/docs)
- [Prisma](https://www.prisma.io/docs)
- [NextAuth.js](https://next-auth.js.org/)
- [Stripe Connect](https://stripe.com/docs/connect)
- [ApiWass](https://apiwass.com/)

### Implementation Details

Minimum environment variables for a single-club deployment:

| Variable | Purpose |
| --- | --- |
| `DATABASE_URL` | Connection string from the Railway PostgreSQL service |
| `NEXTAUTH_SECRET` | Session signing secret (`openssl rand -base64 32`) |
| `NEXTAUTH_URL` / `NEXT_PUBLIC_APP_URL` | Your public Railway URL |
| `STRIPE_SECRET_KEY` | Payments; webhooks are auto-created from the public URL |
| `ADMIN_EMAIL` / `ADMIN_PASSWORD` | Admin account, re-synced on every boot |
| `CRON_SECRET` | Bearer token guarding `/api/jobs/billing` |

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

```json
"build": "prisma generate &amp;&amp; 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.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] 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/furvoley
