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.

โ˜๏ธ 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.

๐Ÿ“‹ Prerequisites

Cloudron Server: Version 5.3.0 or higher.
Cloudron CLI: Installed locally and logged into your server.
Docker: Installed locally to build the app image.

1 Clone and Build

Clone the Tymeslot repository and build the Docker image locally:

git clone https://github.com/tymeslot/tymeslot.git
cd tymeslot
docker build -t tymeslot:cloudron .

2 Deploy via CLI

Use the Cloudron CLI to install the built image to your server:

cloudron install --image tymeslot:cloudron --location tymeslot.yourdomain.com

3 Required Environment Variables

Go to your Cloudron Dashboard, navigate to Apps โ†’ Tymeslot โ†’ Configure โ†’ Environment and set the following required keys:

SECRET_KEY_BASE=your_secret_key_here  # Generate with: openssl rand -base64 64
PHX_HOST=tymeslot.yourdomain.com
PORT=4000

Database Support

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

๐Ÿ”‘ OAuth Provider Setup

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

Google (Calendar & Meet)

GOOGLE_CLIENT_ID=your_id
GOOGLE_CLIENT_SECRET=your_secret
GOOGLE_STATE_SECRET=random_string

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

GitHub (Authentication)

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

Manual Update Flow

git pull origin main
docker build -t tymeslot:cloudron .
cloudron install --image tymeslot:cloudron --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 Widget Embedding

Widget Embedding

Add your booking widget to any website. Works with WordPress, Webflow, Wix, custom sites, and more.