Skip to content

Self-host Rallly

updated Sep 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

A meeting-poll tool: create a poll with candidate dates and times, share the link, and participants vote on when they are available. Sign-in uses email magic links.

Key facts

CategoryScheduling
LicenseAGPL-3.0
StackTypeScript, Next.js, PostgreSQL, Prisma
Min RAM2048 MB
Official imageyes
Measured idle RAM338 MB
Difficulty

What you need

  • Any VPS with at least 2048 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# Rallly — the official image + PostgreSQL (trimmed from lukevella/rallly-selfhosted, which adds Traefik + Garage storage)
mkdir rallly && cd rallly
cat > .env <<EOF
SECRET_PASSWORD=$(openssl rand -hex 32)
POSTGRES_PASSWORD=$(openssl rand -hex 16)
NEXT_PUBLIC_BASE_URL=http://SERVER_IP:3000
SUPPORT_EMAIL=admin@example.com
EOF
cat > compose.yml <<'EOF'
services:
  db:
    image: postgres:18-alpine
    restart: always
    environment: { POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}", POSTGRES_DB: rallly }
    volumes: ["db-data:/var/lib/postgresql"]
    healthcheck: { test: ["CMD-SHELL", "pg_isready -U postgres"], interval: 5s, retries: 10 }
  rallly:
    image: lukevella/rallly:4
    restart: always
    depends_on: { db: { condition: service_healthy } }
    ports: ["3000:3000"]
    env_file: .env
    environment: { DATABASE_URL: "postgres://postgres:${POSTGRES_PASSWORD}@db:5432/rallly" }
volumes: { db-data: {} }
EOF
docker compose up -d   #  →  http://SERVER_IP:3000
# no SMTP configured: sign-in links are not emailed — add SMTP_HOST/SMTP_PORT/SMTP_USER/SMTP_PWD to .env, or read the link from `docker compose logs rallly`

More self-hosted tools

Scheduling

Cal.diy

The MIT-licensed community edition of Cal.com, a scheduling platform for booking pages, event types and calendar integrations, with the commercial Enterprise Edition code removed. Upstream recommends it for personal, non-production use.
TypeScriptNext.jsPostgreSQLPrisma
moderateRead guide →
Web analytics

Swetrix

A cookieless, privacy-first Google Analytics alternative whose Community Edition bundles more than traffic: custom events, sessions and user flows, funnels, real-user performance monitoring and error tracking, with session replays available if you attach S3-compatible storage. The tracker script is under 5 KB. Licensed AGPL-3.0; the self-hosting repo's compose file runs the frontend, API, Redis and ClickHouse behind an nginx proxy. Alerts, email reports and the revenue/experiments/AI features are cloud-only.
TypeScriptNest.jsClickHouseRedis
easyRead guide →
Web analytics

Umami

Privacy-focused, cookieless web analytics with funnels, journeys, retention, session replays and heatmaps in the free MIT build. Two containers (Next.js + PostgreSQL) and one script tag to install.
Next.jsPostgreSQL
easyRead guide →
Wiki & docs

Wiki.js

A Node.js wiki with a modern admin area, Markdown and visual (WYSIWYG) editors, and a wide set of pluggable modules — local, social, and enterprise auth (LDAP, SAML, OIDC, CAS) with optional 2FA are all part of the free AGPL-3.0 build. It brings its own web server but no database: PostgreSQL is the recommended engine, and the other supported engines are slated to be dropped in the next major version.
Node.jsVuePostgreSQL
easyRead guide →

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.