Deploy Rallly | Free Meeting Poll Tool on Railway
Self-host Rallly on Railway. Open-source meeting polls and scheduling
Rally
Just deployed
Just deployed
/var/lib/postgresql/data
minio
Just deployed
/data

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
- GitHub: lukevella/rallly
- Docs: support.rallly.co
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
- [email protected]
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.
Template Content