Skip to content

Latest commit

 

History

History
76 lines (60 loc) · 2.68 KB

File metadata and controls

76 lines (60 loc) · 2.68 KB

Self-Hosting Frappe Meet

This guide explains how to deploy Frappe Meet on a single VPS using Docker. The deployment includes the Frappe backend, frontend, Socket.io, workers, MariaDB, Redis, Nginx, Certbot (for automated SSL), and the Mediasoup SFU server—all running via a streamlined Docker Compose stack.

Prerequisites

  • A VPS running a Linux distribution (e.g., Ubuntu 22.04+).
  • A public IP address.
  • A domain name (e.g., meet.example.com) pointed to your server's public IP address.

Installation

Step 1: Run the One-Click Installer

Run the following command on your server to download all the necessary deployment files:

curl -fsSL https://raw.githubusercontent.com/frappe/meet/develop/deploy/install.sh | bash

Step 2: Navigate to the Install Directory

By default, the installer creates a frappe-meet directory in your current working path:

cd frappe-meet

Step 3: Configure Environment Variables

Open the .env file generated by the installer and fill in your details:

nano .env

Make sure to correctly set your DOMAIN, SITE_NAME, SSL_EMAIL, ADMIN_PASSWORD, DB_ROOT_PASSWORD, DB_PASSWORD, SFU_SECRET, and WEBRTC_ANNOUNCED_IP (your server's public IP).

Step 4: Run the Setup

Execute the automated setup script. This will pull the latest Docker images, provision SSL certificates, start all services, and bootstrap your Frappe site:

./deploy.sh setup

That's it! Your Frappe Meet instance should now be up and running at https://YOUR_DOMAIN.


Updating Meet

To update your deployment to the latest version of Frappe Meet, simply run:

cd frappe-meet
./deploy.sh update

This command automatically pulls the latest Docker images, restarts your containers, and runs any necessary database migrations.


Available Commands

The deploy.sh script is a wrapper around docker compose and bench, designed to make lifecycle management easy.

./deploy.sh help

Frappe Meet — Deployment Helper

Usage: ./deploy.sh <command>

Commands:
  setup      First-time setup (validate, pull, start, create site)
  start      Start all services
  stop       Stop all services
  restart    Restart all services
  update     Pull latest images, migrate, restart
  migrate    Run bench migrate
  logs       Tail logs (append service name to filter, e.g., sfu, backend, mariadb)
  status     Show container status
  backup     Run bench backup (Backups are stored in the 'sites' Docker volume)
  shell      Open a shell in the backend container
  bench      Run a bench command (e.g., ./deploy.sh bench --site X migrate)
  ssl-init   Provision SSL certificates
  ssl-renew  Force SSL renewal
  help       Show this message