---
title: "Deploy Rallly | Free Meeting Poll Tool on Railway"
description: "Self-host Rallly on Railway. Open-source meeting polls and scheduling"
category: "Other"
url: https://railway.com/deploy/rallly
---

# Deploy Rallly | Free Meeting Poll Tool on Railway

Self-host Rallly on Railway. Open-source meeting polls and scheduling

**[Deploy Rallly | Free Meeting Poll Tool on Railway on Railway](https://railway.com/template/rallly)**

- **Creator:** Heimdall
- **Category:** Other

## Template content

### Rally https://raw.githubusercontent.com/lukevella/rallly/main/apps/web/src/assets/logo-mark.svg 

- **Image:** lukevella/rallly:4
- **Public domain:** Yes

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

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

### minio https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/minio-light.svg

- **Image:** minio/minio:latest
- **Start command:** `minio server /data --console-address :9001`

## Documentation

![Rallly logo](https://rallly.co/opengraph-image.png?opengraph-image.0h0hacynl2zr0.png)

# Deploy and Host Rallly on Railway

Deploy Rallly on Railway to self-host your own meeting poll and group scheduling platform. Rallly is an open-source alternative to Doodle that lets participants vote on proposed dates and times without creating accounts — no ads, no tracking, full data ownership.

This Railway template deploys Rallly with PostgreSQL for data persistence and MinIO for S3-compatible object storage, all pre-configured and connected. One click gives you a production-ready scheduling tool with automatic database migrations, magic-link authentication, and optional SSO support.

## Getting Started with Rallly on Railway

Once the deployment is live, visit your Rallly URL to access the landing page. Click "Create a poll" to start your first scheduling poll — add a title, proposed dates, and share the generated link with participants. No account is required to create a poll.

To unlock admin features, sign up with the email you set as `INITIAL_ADMIN_EMAIL` and navigate to `/control-panel`. From there you can manage users, configure branding, and control registration.

For full functionality, configure SMTP variables (`SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PWD`) so Rallly can send magic-link login emails and poll invitations. Without SMTP, participants can still vote via shared links but email notifications will not be sent.

## About Hosting Rallly

Rallly is a lightweight group scheduling tool built with Next.js, Prisma, tRPC, and TypeScript. It solves the back-and-forth email problem when coordinating meeting times for groups.

- **No-account voting** — participants vote on proposed times without signing up
- **Multi-language support** — 10+ languages for international teams
- **Custom branding** — change app name, logo, and primary color via environment variables
- **Magic-link authentication** — secure login without passwords
- **SSO support** — Google, Microsoft Entra ID, and generic OIDC providers
- **ICS calendar files** — finalized meetings are emailed with calendar attachments
- **Admin control panel** — manage users and settings at `/control-panel`

The architecture is three services: the Rallly Next.js app handles the web interface and API, PostgreSQL stores all poll and user data, and MinIO provides S3-compatible object storage for file uploads.

## Why Deploy Rallly on Railway

- Pre-configured PostgreSQL and MinIO — no manual database or storage setup
- Automatic Prisma migrations on every startup
- Environment-variable-driven configuration — no config files to manage
- Private networking between services for secure internal communication
- Persistent storage via Railway volumes on MinIO

## Common Use Cases for Rallly

- **Team meeting scheduling** — find a time that works for everyone without email chains
- **Event planning** — coordinate dates for conferences, offsites, social gatherings, or family events
- **Nonprofit and volunteer coordination** — free scheduling for community organizations
- **Anonymous group polls** — collect availability from participants without requiring accounts

## Dependencies for Self-Hosted Rallly on Railway

- **Rallly** — `lukevella/rallly:4` (Next.js web app, port 3000)
- **PostgreSQL** — Railway-managed PostgreSQL (primary database)
- **MinIO** — `minio/minio:latest` (S3-compatible object storage, volume at `/data`)

### Environment Variables Reference for Rallly

| Variable | Description |
|----------|-------------|
| `DATABASE_URL` | PostgreSQL connection string |
| `SECRET_PASSWORD` | Session encryption key (32+ characters) |
| `NEXT_PUBLIC_BASE_URL` | Full public URL with `https://` |
| `SUPPORT_EMAIL` | User-facing contact email |
| `S3_ENDPOINT` | MinIO S3 API endpoint |
| `S3_BUCKET_NAME` | Object storage bucket name |
| `S3_ACCESS_KEY_ID` | MinIO access key |
| `S3_SECRET_ACCESS_KEY` | MinIO secret key |
| `SMTP_HOST` | SMTP server for sending emails |
| `INITIAL_ADMIN_EMAIL` | Email that gets admin access |

### Deployment Dependencies

- **Runtime:** Node.js (bundled in Docker image)
- **Docker Hub:** [lukevella/rallly](https://hub.docker.com/r/lukevella/rallly)
- **GitHub:** [lukevella/rallly](https://github.com/lukevella/rallly)
- **Docs:** [support.rallly.co](https://support.rallly.co/self-hosting/introduction)

## Hardware Requirements for Self-Hosting Rallly

| Resource | Minimum | Recommended |
|----------|---------|-------------|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB | 4 GB |
| Storage | 1 GB (app) + 1 GB (database) | 5 GB+ (scales with usage) |
| Runtime | Docker 19.03+ | Docker 24+ |

## Self-Hosting Rallly with Docker

Clone the official self-hosted repository and run the setup script:

```
git clone https://github.com/lukevella/rallly-selfhosted.git
cd rallly-selfhosted
./rallly.sh setup
./rallly.sh start
```

Alternatively, use Docker Compose directly. Create a `docker-compose.yml`:

```
services:
  rallly:
    image: lukevella/rallly:4
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://postgres:password@db:5432/rallly
      - SECRET_PASSWORD=your-32-char-secret-here
      - NEXT_PUBLIC_BASE_URL=https://your-domain.com
      - SUPPORT_EMAIL=admin@your-domain.com
    depends_on:
      - db
  db:
    image: postgres:14-alpine
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=rallly
      - POSTGRES_PASSWORD=password
volumes:
  pgdata:
```

Run `docker compose up -d` to start. Rallly automatically runs Prisma migrations on startup — no manual database setup needed.

## How Much Does Rallly Cost to Self-Host?

Rallly is open-source under the AGPLv3 license. Single-user self-hosted instances are completely free. Multi-user instances require a license (introduced with v4) — details at the Rallly licensing page. The cloud-hosted version at rallly.co offers a free Hobby tier and a Pro plan at $56/year. When self-hosting on Railway, your only cost is Railway infrastructure — typically a few dollars per month for small teams.

## Rallly vs Doodle — Why Self-Host on Railway?

| Feature | Rallly | Doodle |
|---------|--------|--------|
| Open Source | Yes (AGPLv3) | No |
| Self-Hostable | Yes | No |
| Free Tier | Yes (full features) | Yes (ad-supported, limited) |
| Account Required to Vote | No | Yes (for some features) |
| Custom Branding | Yes | Paid plans only |
| Data Ownership | Full | Doodle-hosted |
| SSO/OIDC | Yes | Enterprise only |

Rallly gives you full control over your scheduling data with no ads, no tracking, and no vendor lock-in.

## FAQ

**What is Rallly and why should I self-host it?**
Rallly is an open-source meeting poll tool that helps groups find the best date and time for events. Self-hosting gives you full data ownership, custom branding, and no usage limits beyond your server capacity.

**What does this Railway template deploy for Rallly?**
This template deploys three services: the Rallly Next.js application, a PostgreSQL database for persistent storage, and a MinIO instance for S3-compatible object storage. All services are pre-configured and connected via Railway's private networking.

**Why does the Rallly template include MinIO for object storage?**
Rallly requires S3-compatible storage for file uploads and assets. MinIO provides this locally within your Railway project, keeping all data in your infrastructure rather than depending on an external cloud storage provider.

**How do I configure email sending for self-hosted Rallly on Railway?**
Set the SMTP environment variables on the Rallly service: `SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PWD`, and `SMTP_SECURE`. Rallly uses SMTP to send magic-link login emails, poll invitations, and meeting confirmations with ICS calendar attachments.

**Can I use Rallly without creating an account?**
Yes. Anyone with the poll link can vote on proposed dates without signing up. Poll creators can optionally sign up for features like poll management, admin controls, and email notifications.

**How do I enable SSO with Google or Microsoft for Rallly?**
Set the appropriate environment variables: `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` for Google OAuth, or `MICROSOFT_TENANT_ID`, `MICROSOFT_CLIENT_ID`, and `MICROSOFT_CLIENT_SECRET` for Microsoft Entra ID. Generic OIDC is also supported via `OIDC_DISCOVERY_URL`, `OIDC_CLIENT_ID`, and `OIDC_CLIENT_SECRET`.


## 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/rallly
