Installation Quick Start
This guide will walk you through the fastest and easiest way to get your own self-hosted video conferencing platform up and running.
Our recommended method uses a simple, automated script that sets up all the necessary components required to run the platform on a clean Ubuntu or Debian server. Alternatively, for those who prefer a managed service, our official PlugNmeet Cloud solution provides a ready-to-use server, allowing you to bypass the installation process entirely.
Let's get your server set up.
Step 1: Server Requirements
Before you begin, make sure you have the following:
-
A clean Ubuntu or Debian server with a public IP address. We recommend any Ubuntu LTS release. It is critical that the server does not have other web servers like Apache or Nginx already running, as this will cause conflicts.
-
Hardware & Bandwidth: The Plug-N-Meet server itself is a very lightweight application. The hardware you need depends on your expected workload, specifically the number of concurrent users and your recording frequency.
For a small group or testing, a simple server (e.g., 2 CPU cores, 2-4GB RAM) is sufficient.
For a production environment, we recommend:
- Bandwidth: This is the most critical factor. A minimum of 100 Mbits/sec is recommended, but more is always better for a quality user experience.
- CPU: At least 4 cores (8+ recommended if using the recorder).
- RAM: At least 4GB (8GB+ recommended if using the recorder).
Wondering what that handles? A single 4-vCore / 16 GB server ran 300–500 users in one room cleanly in our Benchmarks.
-
Two subdomains pointing to your server's public IP (e.g.,
plugnmeet.example.comandturn.example.com). -
A valid email address for generating a Let's Encrypt SSL certificate.
If your server is behind a firewall, please review our Firewall Configuration Guide to ensure the necessary ports are open before you proceed.
Step 2: Run the Automated Installation
Connect to your server via SSH. The recommended and most transparent method is to download the script first and then execute it. This allows you to inspect the script's contents before running it as root.
# 1. Download the script
wget https://raw.githubusercontent.com/mynaparrot/plugNmeet-install/main/install.sh
Then choose one of the two modes below.
Option A: Interactive install (easiest)
Just run the script with no arguments. It will prompt you for everything it needs, such as your domain names, email address, and whether to install the recorder and firewall.
# 2. Run the script as root
sudo bash install.sh
Option B: Non-interactive install (with options)
Pass everything as arguments and the script will run without prompting. This is ideal for automation or as a cloud post-install script (e.g. cloud-init user-data), so a fresh server can come up with plugNmeet fully ready.
sudo bash install.sh --domain plugnmeet.example.com --turn-domain turn.example.com --email [email protected] --recorder yes --ufw yes
| Option | Description |
|---|---|
-d, --domain <domain> | plugNmeet server domain (e.g. plugnmeet.example.com) |
-t, --turn-domain <domain> | TURN server domain (e.g. turn.example.com) |
-e, --email <email> | Email address for the Let's Encrypt SSL certificate |
-r, --recorder <yes|no> | Install the recorder (yes or no; if omitted, you will be prompted) |
-f, --ufw <yes|no> | Configure the UFW firewall (yes or no; if omitted, you will be prompted) |
-h, --help | Show all options and exit |
A few things to know:
- Both
--option valueand--option=valueforms work (e.g.--domain=plugnmeet.example.com). - Omit any option and the script will simply prompt you for it.
- Run
sudo bash install.sh --helpat any time to see all options. - If there is no terminal to prompt you (for example in a cloud post-install script) and a value is missing, the script stops with a clear error telling you which option to pass.
Alternatively, you can download and execute it in a single command:
sudo su -c "bash <(wget -qO- https://raw.githubusercontent.com/mynaparrot/plugNmeet-install/main/install.sh)" root
Most cloud providers let you run a script automatically after the OS is installed (e.g. cloud-init user-data). Use the non-interactive form so the server comes up fully ready with no manual steps:
#!/bin/bash
wget -q https://raw.githubusercontent.com/mynaparrot/plugNmeet-install/main/install.sh -O /root/install.sh
bash /root/install.sh --domain plugnmeet.example.com --turn-domain turn.example.com --email [email protected] --recorder yes --ufw yes
At the end of the process, the script will display your Server URL, API Key, and API Secret.
We recommend saving these credentials now for easy access. However, if you happen to close the window, don't worry! You can always find them later in the /opt/plugNmeet/config.yaml file on your server.
Step 3: Verify Your Installation
Once the installation is complete, you can verify that everything is running correctly.
-
Check the Service Status:
# Check the main serversystemctl status plugnmeet# Check the recorder servicesystemctl status plugnmeet-recorderBoth services should show an
active (running)status. -
Perform a Test Login: The best way to confirm that the entire system is working is to join a test meeting.
Navigate to
https://plugnmeet.example.com/login.html. On this page, you can use theAPI_KEYandAPI_SECRETyou saved from the installation to generate a temporary access token and join a test conference.
What's Next?
Congratulations! You now have a fully functional, self-hosted video conferencing platform. Here are a few things you can do next:
- Start Using Plug-N-Meet: Now that your server is running, visit our User Guide Overview to learn about the different ways you can integrate and use your new platform, from no-code plugins to our powerful API.
- Explore the API: For developers ready to dive in, our API Documentation provides all the details you need to start building.
- Manage Your Server: Learn about the common commands for managing your services, including starting, stopping, and viewing logs.
- Advanced Customization: Explore our Scripting & Storage Hooks to automate workflows and integrate with external storage providers.
Advanced Topics
Managing Services
All Plug-N-Meet components run as systemd services.
# To start, restart, or stop the services:
systemctl restart plugnmeet
systemctl restart plugnmeet-recorder
To view the log files:
tail -n 200 -f /opt/plugNmeet/log/plugNmeet.log
tail -n 200 -f /opt/plugNmeet/recorder/logs/recorder.log
Updating Your Server
To update your Plug-N-Meet installation to the latest version, simply run the update.sh script:
sudo su -c "bash <(wget -qO- https://raw.githubusercontent.com/mynaparrot/plugNmeet-install/main/update.sh)" root
Scalable Deployments
For very large-scale needs, Plug-N-Meet can be deployed in a distributed, multi-server cluster. To learn more, read our Scalable Deployment Guide.