- Notifications
You must be signed in to change notification settings - Fork23
A full featured self-hosted video web-conferencing platform.
License
wirow-io/wirow-server
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A full featured self-hosted video web-conferencing platform shipped as a single executable.
- Works on Linux and FreeBSD.
- Single executable, no setup is required.
- Let's Encrypt integration - instant SSL certs generation for your web-conferencing host.
- Unlimited meeting rooms and webinars.
- Integrated whiteboard.
- Video calls recording.
- Low memory/CPU consumption due to lighting fast core engine written in C.
Wirow platform community edition is distributed under terms ofAGPLv3 license
For a license to use the Wirow software under conditions other than AGPLv3, or for technical support for this software,please contact us atinfo@wirow.io
If you have a question, advice or an issue related to your server setup ask for help atWirow Discussion Group.Please be patient and note what project maintainers have limited time provide a free support on this forum.
Fill anIssue If you believe that Wirow has a software bug.
- IWNET - Asynchronous HTTP Library
- EJDB2 - Embeddable JSON Database engine
- Mediasoup - C++ WebRTC SFU router
- Excalidraw - A Whiteboard Web UI
- FFmpeg
- Sentry error reporting
- Svelte Frontend Framework
cd ./dockerdocker build --no-cache --force-rm -t wirow.
Please mind about the following volume dirs defined inDokerfile:
/data
Where wirow database, uploads and room recordings are located./config/wirow.ini
A server configuration file.
Before starting Wirow docker container
- Read theWirow server Administrator's Guide
- Review
/config/wirow.ini
ip/network options, ssl certs section (if you don't plan to use Let's Encrypt).
Basic check of Wirow server availability:
docker run --rm wirow -h
You have three options how to run a Wirow server:
- Wirow server on your domain with Let's Encrypt HTTPS Certificates. (Recommended)
- Wirow server on your host with own HTTPS certificates.
- Wirow server behind HTTP proxy.
Please check what your host is accessible by your domain name and 80/443, 44300-44600 tcp/udp ports are accessible.
Example:
# Below `start01` is the initial password for `admin` userdocker run --name wirow wirow -n mywirow.example.com -a start01
Later you may change your password and manage users by Admin UI.
Here is the Example:
WIROWSRC=<path to wirow cloned repo>WORKDIR=<path to my workdir>mkdir -p${WORKDIR}/configcd${WORKDIR}/configopenssl req -x509 -nodes -days 3650 -newkey ec:<(openssl ecparam -name prime256v1) \ -keyout wirow-eckey.pem -out wirow-ecdsacert.pemcp${WIROWSRC}/docker/wirow.ini ./wirow.iniecho -e'\n\n[main]'>> ./wirow.iniecho'cert_file = {config_file_dir}/wirow-ecdsacert.pem'>> ./wirow.iniecho'cert_key_file = {config_file_dir}/wirow-eckey.pem'>> ./wirow.ini# Below `start01` is the initial password for admin userdocker run --name wirow -v${WORKDIR}/config:/config wirow -a start0123 Apr 17:15:06.543 INFO: main:ip=auto23 Apr 17:15:06.543 INFO: main:data=/data23 Apr 17:15:06.543 INFO: rtc:ports=44300..4460023 Apr 17:15:06.543 INFO: main:cert_file=/config/wirow-ecdsacert.pem23 Apr 17:15:06.543 INFO: main:cert_key_file=/config/wirow-eckey.pem23 Apr 17:15:06.543 INFO: Number of workers: 623 Apr 17:15:06.544 INFO: Autodetected external IP addressfor wirow server: 172.17.0.223 Apr 17:15:06.544 INFO: Opening /data/wirow.db23 Apr 17:15:06.791 INFO: Server on: 172.17.0.2:44323 Apr 17:15:06.791 INFO: HTTP/HTTPS redirect port: 80
Point your browserhttps://172.17.0.2
(specific to this example) then useadmin/start01
credentials at login page.Later you may change your password and manage users by Admin UI.
Please refer toWirow server Administrator's Guide
- Linux or FreeBSD
- Git
- CMake v3.18+
- GNU Make, autoconf, automake, libtool, ninja (optional)
- Nodejs v16+ and Yarn package manager v1.22+
- Clang C/C++ compiler v10+ or GCC v9+
- yasm assembler (yasm) needed by FFmpeg
- Python 3 pip package manager (python3-pip)
Example of prerequisite software installation on Debian/Ubuntu Linux:
apt-get install -y apt-utils software-properties-common \ apt-transport-https sudo curl wget gpgwget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc2>/dev/null \| gpg --dearmor -i \| tee /etc/apt/trusted.gpg.d/kitware.gpg>/dev/nullwget -qO- https://deb.nodesource.com/setup_lts.x| bash -wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg| apt-key add -apt-add-repository -y'deb https://apt.kitware.com/ubuntu/ focal main'echo"deb https://dl.yarnpkg.com/debian/ stable main"| tee /etc/apt/sources.list.d/yarn.listapt-get updateapt-get install -y autoconf automake pkgconf \ binutils build-essential ca-certificates cmake \ g++ gcc git libtool make ninja-build nodejs python-is-python3 yarn \ yasm python3-pip
git clone --recurse-submodules https://github.com/wirow-io/wirow-server.gitmkdir -p ./wirow-server/build&&cd ./wirow-server/buildcmake .. -G Ninja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DIW_EXEC=ONninja
Wirow build artifacts are located here:
./build/src/wirow# Stripped binary ./build/src/wirow_g# Binary with debug symbols (Not stripped)
/* * Copyright (C) 2022 Greenrooms, Inc. * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see http://www.gnu.org/licenses/ */
About
A full featured self-hosted video web-conferencing platform.