A full featured self-hosted video web-conferencing platform shipped as a single executable.
Wirow platform community edition is distributed under terms of AGPLv3 license
For a license to use the Wirow software under conditions other than AGPLv3, or for technical support for this software, please contact us at info@wirow.io
If you have a question, advice or an issue related to your server setup ask for help at Wirow Discussion Group. Please be patient and note what project maintainers have limited time provide a free support on this forum.
Fill an Issue If you believe that Wirow has a software bug.
cd ./docker
docker build --no-cache --force-rm -t wirow .
Please mind about the following volume dirs defined in Dokerfile:
/data
Where wirow database, uploads and room recordings are located./config/wirow.ini
A server configuration file.Before starting Wirow docker container
/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:
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` user
docker 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}/config
cd ${WORKDIR}/config
openssl req -x509 -nodes -days 3650 -newkey ec:<(openssl ecparam -name prime256v1) \
-keyout wirow-eckey.pem -out wirow-ecdsacert.pem
cp ${WIROWSRC}/docker/wirow.ini ./wirow.ini
echo -e '\n\n[main]' >> ./wirow.ini
echo 'cert_file = {config_file_dir}/wirow-ecdsacert.pem' >> ./wirow.ini
echo 'cert_key_file = {config_file_dir}/wirow-eckey.pem' >> ./wirow.ini
# Below `start01` is the initial password for admin user
docker run --name wirow -v ${WORKDIR}/config:/config wirow -a start01
23 Apr 17:15:06.543 INFO: main:ip=auto
23 Apr 17:15:06.543 INFO: main:data=/data
23 Apr 17:15:06.543 INFO: rtc:ports=44300..44600
23 Apr 17:15:06.543 INFO: main:cert_file=/config/wirow-ecdsacert.pem
23 Apr 17:15:06.543 INFO: main:cert_key_file=/config/wirow-eckey.pem
23 Apr 17:15:06.543 INFO: Number of workers: 6
23 Apr 17:15:06.544 INFO: Autodetected external IP address for wirow server: 172.17.0.2
23 Apr 17:15:06.544 INFO: Opening /data/wirow.db
23 Apr 17:15:06.791 INFO: Server on: 172.17.0.2:443
23 Apr 17:15:06.791 INFO: HTTP/HTTPS redirect port: 80
Point your browser https://172.17.0.2
(specific to this example) then use admin/start01
credentials at login page.
Later you may change your password and manage users by Admin UI.
Please refer to Wirow server Administrator's Guide
Example of prerequisite software installation on Debian/Ubuntu Linux:
apt-get install -y apt-utils software-properties-common \
apt-transport-https sudo curl wget gpg
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \
| gpg --dearmor -i \
| tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
wget -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.list
apt-get update
apt-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.git
mkdir -p ./wirow-server/build && cd ./wirow-server/build
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DIW_EXEC=ON
ninja
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/
*/