- 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.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Contributors2
Uh oh!
There was an error while loading.Please reload this page.