Docker Self-Hosting
Deploy Tymeslot using Docker and Docker Compose. Perfect for VPS hosting, home servers, or any environment with Docker support.
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.
Technical Product Builder & AI Developer
Deploying on Cloudron provides enterprise-grade infrastructure out of the box:
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.
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
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
CLOUDRON_POSTGRESQL_URL
variable. You don't need to configure database credentials manually.
Tymeslot automatically detects and uses Cloudron's built-in addons. No environment variables are needed for these — they work out of the box.
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.
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.
To enable calendar sync or social login, add your provider credentials to the Environment section:
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
cloudron env set --app tymeslot.yourdomain.com ENABLE_GITHUB_AUTH=true GITHUB_CLIENT_ID=your_id GITHUB_CLIENT_SECRET=your_secret
cloudron logs --app tymeslot.yourdomain.com --follow
cloudron exec --app tymeslot.yourdomain.com -- psql $CLOUDRON_POSTGRESQL_URL
Cloudron checks for new versions automatically. Apply an available update via CLI:
cloudron update --app tymeslot.yourdomain.com
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()'
Deploy Tymeslot using Docker and Docker Compose. Perfect for VPS hosting, home servers, or any environment with Docker support.
One-click deploy on Railway. Postgres is provisioned and wired automatically — your instance is live in minutes with no server management.
Run Tymeslot behind Nginx or Caddy with automatic HTTPS. Required for production deployments and OAuth integrations.