Deploy Tymeslot
Self-hostable meeting scheduler with calendar sync and video conferencing
tymeslot
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host Tymeslot on Railway
Tymeslot is an open-source meeting scheduling platform. Share a booking link, let guests pick an available slot, and get a confirmed meeting — automatically synced to your calendar with video conferencing links and email invites included. Built on Elixir and Phoenix LiveView.
About Hosting Tymeslot
Tymeslot is a single Elixir/Phoenix application backed by PostgreSQL. Hosting it means running the app server and a database — Railway handles both. On first boot, Tymeslot runs database migrations automatically and starts serving traffic. You will need to supply a handful of environment variables: a secret key base, SMTP credentials for sending confirmation emails, and OAuth credentials for at least one calendar provider (Google, Outlook, or a CalDAV server). Everything else has sensible defaults and works out of the box.
Common Use Cases
- Freelancers and consultants sharing a public booking page so clients can schedule calls without email back-and-forth
- Small teams managing internal scheduling with shared calendars and automatic conflict detection across team members
- Self-hosters and privacy-conscious users who want a Calendly-style tool they fully control, with no third-party tracking or data sharing
Dependencies for Tymeslot Hosting
- PostgreSQL — Tymeslot stores all data (users, event types, bookings) in a PostgreSQL database. Railway provides a managed Postgres instance you can attach directly to this template.
- SMTP server — Required for sending booking confirmation, cancellation, and reminder emails to hosts and guests. Any SMTP provider (Postmark, Resend, SendGrid, or your own mail server) works.
Deployment Dependencies
- Homepage: https://tymeslot.app
- Tymeslot source code and documentation: https://github.com/Tymeslot/tymeslot
- Google Calendar OAuth setup: https://console.cloud.google.com
- Microsoft Outlook OAuth setup: https://portal.azure.com
- CalDAV / Nextcloud self-hosted calendar docs: https://docs.nextcloud.com/server/latest/user_manual/en/groupware/calendar.html
Implementation Details
Tymeslot uses a release-based deployment. The Dockerfile in the repository builds a self-contained OTP release. On startup, the release entrypoint runs pending Ecto migrations before launching the Phoenix server — no manual migration step required.
Key environment variables:
SECRET_KEY_BASE # 64-byte secret — generate with: openssl rand -base64 64 | tr -d '\n'
PHX_HOST # Your Railway public domain, e.g. tymeslot.up.railway.app
EMAIL_FROM_ADDRESS # Sender address for outgoing emails
EMAIL_FROM_NAME # Sender display name
EMAIL_ADAPTER # smtp | postmark | test (test discards all emails — not for production)
SMTP_HOST # SMTP server hostname (when EMAIL_ADAPTER=smtp)
SMTP_PORT # Usually 587 (STARTTLS) or 465 (SSL)
SMTP_USERNAME # SMTP login
SMTP_PASSWORD # SMTP password
DATABASE_HOST, DATABASE_PORT, POSTGRES_DB, POSTGRES_USER, and POSTGRES_PASSWORD are pre-wired from the Postgres service via Railway template references and do not need to be set manually.
Optional — enable Google Calendar integration:
ENABLE_GOOGLE_AUTH=true
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
Optional — enable Microsoft Outlook integration:
ENABLE_MICROSOFT_AUTH=true
MICROSOFT_CLIENT_ID
MICROSOFT_CLIENT_SECRET
MICROSOFT_TENANT_ID
> Full variable reference and deployment walkthrough: https://tymeslot.app/docs/railway
Why Deploy Tymeslot 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 Tymeslot 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
tymeslot
Tymeslot/tymeslot