Back to Overview

Cloudron Deployment

Tymeslot is designed to work seamlessly with Cloudron's managed infrastructure. This guide covers how to deploy Tymeslot as a custom app, utilizing Cloudron's built-in services like SSL management and PostgreSQL backups.

Luka Breitig — Technical Product Builder & AI Developer
Luka Breitig

Technical Product Builder & AI Developer

☁️ Managed Infrastructure

Deploying on Cloudron provides enterprise-grade infrastructure out of the box:

  • Automatic SSL/TLS: Handled by Cloudron's reverse proxy.
  • Managed Database: Built-in PostgreSQL with automatic backups.
  • Health Monitoring: Automated restarts and health checks.
  • Built-in Email: Cloudron's mail relay works automatically — no SMTP setup needed.
  • Single Sign-On: Users can log in with their Cloudron account via OIDC.

📋 Prerequisites

  • Cloudron Server: Version 5.3.0 or higher.
  • Cloudron CLI: Installed locally and logged into your server.
  • Domain name: Configured in Cloudron for the app location.

1 Install as a Community App

Tymeslot is distributed as a pre-built community app — no Docker or local build tools required. In your Cloudron dashboard, go to App Store → Install via URL and paste:

https://raw.githubusercontent.com/Tymeslot/tymeslot/main/apps/tymeslot/CloudronVersions.json

Choose your location (e.g. tymeslot.yourdomain.com) and click Install. Cloudron will pull the pre-built image and handle the rest. Future updates will appear automatically in the dashboard.

2 Set Required Variables

Once the app is running, set the required environment variables via the dashboard Environment tab or CLI. The app restarts automatically.

SECRET=$(openssl rand -base64 64 | tr -d '\\n')\ncloudron env set --app tymeslot.yourdomain.com \\\n  SECRET_KEY_BASE=$SECRET \\\n  PHX_HOST=tymeslot.yourdomain.com \\\n  PORT=4000

3 Add More Variables (Optional)

To add or change variables after the app is running, use cloudron env set. The app restarts automatically.

cloudron env set --app tymeslot.yourdomain.com KEY=value KEY2=value2\n\n# Confirm current values\ncloudron env list --app tymeslot.yourdomain.com

Database Support

Cloudron automatically handles your PostgreSQL connection via the CLOUDRON_POSTGRESQL_URL variable. You don't need to configure database credentials manually.

🔌 Automatic Addon Integration

Tymeslot automatically detects and uses Cloudron's built-in addons. No environment variables are needed for these — they work out of the box.

Email (Sendmail Addon)

Cloudron's mail relay is used automatically for sending emails (confirmations, reminders, password resets). No SMTP_* or EMAIL_ADAPTER configuration is needed.

To use an external provider instead (e.g. Postmark, Gmail SMTP), set EMAIL_ADAPTER explicitly — this overrides the Cloudron relay.

Single Sign-On (OIDC Addon)

Cloudron's identity provider is used automatically — users see an "SSO" button on the login page and can sign in with their Cloudron account. No OAUTH_* configuration is needed.

To use a different IdP, set ENABLE_OAUTH_AUTH=true with your own OAUTH_* variables. To disable SSO entirely, set ENABLE_OAUTH_AUTH=false.

🔑 OAuth Provider Setup

To enable calendar sync or social login, add your provider credentials to the Environment section:

Google (Calendar & Meet)

GOOGLE_STATE=$(openssl rand -base64 32 | tr -d '\\n')\ncloudron env set --app tymeslot.yourdomain.com ENABLE_GOOGLE_AUTH=true GOOGLE_CLIENT_ID=your_id GOOGLE_CLIENT_SECRET=your_secret GOOGLE_STATE_SECRET=$GOOGLE_STATE

Redirect URI: https://tymeslot.yourdomain.com/auth/google/callback

GitHub (Authentication)

cloudron env set --app tymeslot.yourdomain.com ENABLE_GITHUB_AUTH=true GITHUB_CLIENT_ID=your_id GITHUB_CLIENT_SECRET=your_secret

⚙️ Cloudron CLI Toolkit

View Real-time Logs

cloudron logs --app tymeslot.yourdomain.com --follow

Direct Database Access

cloudron exec --app tymeslot.yourdomain.com -- psql $CLOUDRON_POSTGRESQL_URL

Apply Updates

Cloudron checks for new versions automatically. Apply an available update via CLI:

cloudron update --app tymeslot.yourdomain.com

🩺 Troubleshooting

App won't start: Check logs via CLI or Dashboard. Usually caused by a missing SECRET_KEY_BASE or incorrect PHX_HOST.

Manual Migrations: If you need to run migrations manually:

cloudron exec --app tymeslot.yourdomain.com -- bin/tymeslot eval 'Tymeslot.Release.migrate()'

🔗 Related Articles

Read Docker Self-Hosting

Docker Self-Hosting

Deploy Tymeslot using Docker and Docker Compose. Perfect for VPS hosting, home servers, or any environment with Docker support.

Read Railway Deployment

Railway Deployment

One-click deploy on Railway. Postgres is provisioned and wired automatically — your instance is live in minutes with no server management.

Read Reverse Proxy Setup

Reverse Proxy Setup

Run Tymeslot behind Nginx or Caddy with automatic HTTPS. Required for production deployments and OAuth integrations.