Self-Host Tymeslot with Docker
Deploy Tymeslot with Docker Compose on any VPS or home server. Includes reverse proxy setup, file upload volumes, and WebSocket configuration for LiveView.
Luka Breitig
Step-by-step guides for running Tymeslot on your own server, connecting your calendar, video and email providers, embedding your booking page, and using each dashboard feature.
Topic
Provider
Deploy Tymeslot with Docker Compose on any VPS or home server. Includes reverse proxy setup, file upload volumes, and WebSocket configuration for LiveView.
Luka Breitig
Install Tymeslot on Cloudron in minutes. PostgreSQL, SSL certificates, email relay, and automatic updates are all provisioned and managed for you.
Luka Breitig
Deploy Tymeslot to Railway with one click. PostgreSQL is provisioned and connected for you; add a signing secret and your email settings and your instance is live.
Luka Breitig
Set up Nginx or Caddy as a reverse proxy for Tymeslot. Covers HTTPS termination, WebSocket proxying for LiveView, and custom domain configuration.
Luka Breitig
Upgrade Tymeslot with a single Docker command. Database migrations run automatically on startup. Includes rollback procedures and version compatibility notes.
Luka Breitig
Promote your first admin, use the /admin UI, and change runtime settings without a restart, for any setting whose environment variable is unset. Covers Docker, Cloudron, Railway, and source installs.
Luka Breitig
Back up Tymeslot with pg_dump and cron automation. Covers Docker volume backup for uploaded files and step-by-step recovery from a complete data loss.
Luka Breitig
Protect Tymeslot's signup and booking forms with Google reCAPTCHA v3. It scores each submission invisibly, so real visitors never solve a puzzle.
Luka Breitig
Encrypt integration credentials at rest with a dedicated DATA_ENCRYPTION_KEY, decoupled from SECRET_KEY_BASE. Covers enabling the key, migrating existing credentials, key backup, rotating the key and retiring old keys.
Luka Breitig
Route Tymeslot's outbound HTTP traffic through a corporate proxy or firewall. Covers HTTPS_PROXY, authenticated proxies, NO_PROXY bypass rules, and TLS-inspecting proxy setup.
Luka Breitig
Run meeting payments on your own Stripe Connect platform. Covers platform registration, the Connect webhook endpoint with its events and API version, and the environment variables.
Luka Breitig
Complete reference for all Tymeslot environment variables: database, email, OAuth, reCAPTCHA, Telegram, Stripe payments, HTTP proxy, video conferencing, logging, and clustering.
Luka Breitig
Set up outgoing email for Tymeslot via SMTP or a provider API. Covers booking confirmations, reminders, and password resets. Includes steps for Gmail, Amazon SES, SendGrid, Mailgun, and AhaSend.
Luka Breitig
Configure Postmark for Tymeslot transactional email. Covers domain verification, DKIM/SPF setup, and delivery tracking for better deliverability than standard SMTP.
Luka Breitig
Set up a Google OAuth app in Google Cloud Console. One app powers Google Login, Calendar sync, and Meet rooms for Tymeslot. Covers API enabling and consent screen.
Luka Breitig
Register an Azure app for Tymeslot. Enables Outlook Calendar sync and Teams meetings. Covers API permissions and admin consent requirements.
Luka Breitig
Let your team and customers sign in to Tymeslot with their GitHub account. Create an OAuth app, set two environment variables, and you're done.
Luka Breitig
Connect any OAuth 2.0 / OpenID Connect identity provider for single sign-on. Supports Keycloak, Authentik, Lemonldap::NG, Okta, Azure AD, and more.
Luka Breitig
Connect Tymeslot to Google Calendar. Busy, Tentative and Out of Office events all block bookings, so you are never double-booked, and every booking is added to your calendar.
Luka Breitig
Sync Tymeslot with Outlook Calendar via Microsoft Graph. Your Outlook events block conflicting bookings and every booking is added to your calendar. Works with Outlook.com and Microsoft 365.
Luka Breitig
Sync Tymeslot with CalDAV calendars: Nextcloud, Radicale, Baikal, Zimbra, mailbox.org, iCloud and Fastmail. Conflict checks and new bookings work without a Google or Microsoft account.
Luka Breitig
Connect Tymeslot to an on-premises Microsoft Exchange Server over EWS. Covers the endpoint URL, domain logins versus mailbox addresses, self-signed certificates, and the read-only limits.
Luka Breitig
Connect Tymeslot to your Nextcloud calendar. Step-by-step guide for finding the per-calendar CalDAV URL, generating an app password, and verifying the sync.
Luka Breitig
Connect Tymeslot to a self-hosted Radicale server. Covers the collection URL format, account password authentication, case-sensitive paths, and network requirements.
Luka Breitig
Connect Tymeslot to Zimbra Collaboration Server via CalDAV. Covers the DAV URL format, user@domain authentication, named calendars, and admin-managed account considerations.
Luka Breitig
Connect Tymeslot to a self-hosted Baikal server. Covers the /dav.php URL format, calendar URI lookup, account password authentication, and sub-path proxy setups.
Luka Breitig
Connect Tymeslot to mailbox.org CalDAV. Your account password works, unless two-factor authentication is on; then you need an application-specific password.
Luka Breitig
Connect Tymeslot to your Apple iCloud calendar. Covers generating an app-specific password at appleid.apple.com, using your Apple ID email, and verifying the sync.
Luka Breitig
Auto-create Google Meet rooms for every confirmed booking via the Calendar API. Attendees receive the link by email and can join without a Google account.
Luka Breitig
Auto-create Microsoft Teams meetings for every confirmed booking. Covers the Graph permissions Tymeslot asks for, when a tenant admin has to consent, and what happens when an account cannot host meetings.
Luka Breitig
Auto-create Zoom meetings for every confirmed booking. Connects over OAuth. Use a paid plan (Pro, Business or Enterprise): Zoom applies its free-plan limits, including meeting length, to meetings created this way.
Luka Breitig
Host video meetings on your own MiroTalk P2P server, with no subscription and peer-to-peer video between participants. Covers Docker setup, reverse proxy, and TURN server config.
Luka Breitig
Connect Infomaniak kMeet to Tymeslot. Every booking gets its own room on Swiss-hosted infrastructure, with no account needed for your guests.
Luka Breitig
Connect your own Jitsi Meet server. Covers token authentication, the moderator flag, and why the public meet.jit.si is a poor fit for scheduled bookings.
Luka Breitig
Connect your own Nextcloud with Talk. Every booking gets its own public conversation with a lobby, moved when you reschedule and deleted when you cancel.
Luka Breitig
Use any video platform with Tymeslot by supplying your own meeting URL, with a template variable that gives every booking its own room.
Luka Breitig
Tymeslot webhook reference: all six meeting events (created, requested, declined, request expired, cancelled and rescheduled) with payload schemas, X-Tymeslot-Delivery-Id for deduplication, and retry behaviour.
Luka Breitig
Connect Tymeslot to n8n via webhooks for no-code automation. Trigger CRM updates, Slack notifications, and custom workflows on every booking event.
Luka Breitig
Instant Telegram notifications for every booking, cancellation, and reschedule. Use one shared bot for the whole instance or your own bot token; messages are retried automatically.
Luka Breitig
Instant Slack notifications for every booking, cancellation, and reschedule. Connect via OAuth for branded messages and channel switching, or paste an Incoming Webhook URL for a quick setup.
Luka Breitig
Embed the Tymeslot booking widget as an inline section, popup, or floating button. Works with WordPress, Webflow, Wix, Squarespace, Shopify, and custom HTML.
Luka Breitig
Add your Tymeslot booking page to WordPress with the official plugin: a Gutenberg block, a shortcode or a floating button. No code needed, and it works with Tymeslot Cloud and self-hosted instances.
Luka Breitig
Keep several named sets of working hours (weekday office hours, evening consults, weekend intensives), each with its own breaks and booking rules, and give every meeting type the one it belongs to.
Luka Breitig
Hold a booking until you have agreed to it, and tell the person who booked exactly where they stand.
Luka Breitig
Propose candidate times, invite people by email or share one link, and let everyone mark each time Yes, If need be or No. Confirm the winner and Tymeslot books it as a meeting you manage, with everyone invited.
Luka Breitig
Charge attendees through Stripe when they book a paid event type. Covers setup, currencies, payouts, refunds, cancellations, disputes, and fees.
Luka Breitig
See your bookings and synced calendar events together in a day, week, month or agenda view. Set your preferred layout, hide calendars you do not need to see, and move events with drag-and-drop.
Luka Breitig
Ask bookers what you need to know before the meeting: short text, choices, yes/no, dates, acknowledgements and more. The answers appear in confirmations, emails and your calendar.
Luka Breitig
Offer one place to meet or several: in person, on video with one or more providers, by phone or anywhere else. Bookers pick the one that suits them, and can change it when they reschedule.
Luka Breitig
See where your bookings come from. Track visits, unique visitors and conversions per UTM source, without cookies, stored IP addresses, third-party scripts or a consent banner.
Luka Breitig
Tymeslot has scheduling guides for 37 professions, each covering the workflow, features and setup that fit your work.
Browse profession guides →