{"id":13547025,"url":"https://github.com/wirow-io/wirow-server","last_synced_at":"2025-04-02T19:32:21.108Z","repository":{"id":38774013,"uuid":"482783639","full_name":"wirow-io/wirow-server","owner":"wirow-io","description":"A full featured self-hosted video web-conferencing platform.","archived":true,"fork":false,"pushed_at":"2023-02-10T16:52:16.000Z","size":2673,"stargazers_count":178,"open_issues_count":14,"forks_count":19,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-03T15:38:26.428Z","etag":null,"topics":["c","collaboration","ffmpeg","mediasoup","self-hosted","sfu","svelte","video-conferencing","videoconferencing","web-conferencing","webrtc"],"latest_commit_sha":null,"homepage":"https://wirow.io","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wirow-io.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-04-18T09:10:18.000Z","updated_at":"2024-10-29T05:02:46.000Z","dependencies_parsed_at":"2024-01-14T08:06:34.684Z","dependency_job_id":null,"html_url":"https://github.com/wirow-io/wirow-server","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wirow-io%2Fwirow-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wirow-io%2Fwirow-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wirow-io%2Fwirow-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wirow-io%2Fwirow-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wirow-io","download_url":"https://codeload.github.com/wirow-io/wirow-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246880179,"owners_count":20848819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","collaboration","ffmpeg","mediasoup","self-hosted","sfu","svelte","video-conferencing","videoconferencing","web-conferencing","webrtc"],"created_at":"2024-08-01T12:00:49.696Z","updated_at":"2025-04-02T19:32:18.746Z","avatar_url":"https://github.com/wirow-io.png","language":"C","funding_links":[],"categories":["C","Software","Projects"],"sub_categories":["Communication - Custom Communication Systems","Video Conference"],"readme":"# Wirow video conferencing platform\n\nhttps://wirow.io\n\nA full featured self-hosted video web-conferencing platform shipped as a single executable.\n\n- Works on Linux and FreeBSD.\n- Single executable, no setup is required.\n- Let's Encrypt integration - instant SSL certs generation for your web-conferencing host.\n- Unlimited meeting rooms and webinars.\n- Integrated whiteboard.\n- Video calls recording.\n- Low memory/CPU consumption due to lighting fast core engine written in C.\n\n## Licensing\n\nWirow platform community edition is distributed under terms of [AGPLv3 license](https://choosealicense.com/licenses/agpl-3.0/)\n\nFor a license to use the Wirow software under conditions other than AGPLv3, or for technical support for this software,\nplease contact us at info@wirow.io\n\n## How to get support\n\nIf you have a question, advice or an issue related to your server setup ask for help at [Wirow Discussion Group](https://github.com/wirow-io/wirow-server/discussions).\nPlease be patient and note what project maintainers have limited time provide a free support on this forum.\n\nFill an [Issue](https://github.com/wirow-io/wirow-server/issues) If you believe that Wirow has a software bug.\n\n## Intro\n\n[![Wirow intro](./docs/artwork/Screens/youtube.jpg)](https://www.youtube.com/watch?v=14-DI3lk_P0)\n\n![](./docs/artwork/Screens/screen1.png)\n\n![](./docs/artwork/Screens/screen2.png)\n\n![](./docs/artwork/Screens/screen3.png)\n\n## Guides\n\n- [Wirow Server Administrator's Guide](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow.adoc) ([pdf](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow.pdf))\n- [Wirow Server Configuration Reference](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow-configuration.ini)\n\n## Software used by Wirow\n\n- [IWNET - Asynchronous HTTP Library](https://github.com/Softmotions/iwnet)\n- [EJDB2 - Embeddable JSON Database engine](https://github.com/Softmotions/ejdb)\n- [Mediasoup - C++ WebRTC SFU router](https://github.com/versatica/mediasoup)\n- [Excalidraw - A Whiteboard Web UI](https://github.com/excalidraw/excalidraw)\n- [FFmpeg](https://ffmpeg.org)\n- [Sentry error reporting](https://sentry.io)\n- [Svelte Frontend Framework](https://svelte.dev)\n\n\n\n\n## Docker Image\n\n[Wirow server Dockerfile](https://github.com/wirow-io/wirow-server/blob/master/docker/Dockerfile)\n\n```sh\ncd ./docker\ndocker build --no-cache --force-rm -t wirow .\n```\n\nPlease mind about the following volume dirs defined in [Dokerfile](https://github.com/wirow-io/wirow-server/blob/master/docker/Dockerfile):\n- `/data` Where wirow database, uploads and room recordings are located.\n- `/config/wirow.ini` A server configuration file.\n\nBefore starting Wirow docker container\n- Read the [Wirow server Administrator's Guide](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow.adoc)\n- Review `/config/wirow.ini` ip/network options, ssl certs section (if you don't plan to use Let's Encrypt).\n\n**Basic check of Wirow server availability:**\n\n```sh\ndocker run --rm wirow -h\n```\n\n**You have three options how to run a Wirow server:**\n- Wirow server on your domain with Let's Encrypt HTTPS Certificates. (Recommended)\n- Wirow server on your host with own HTTPS certificates.\n- Wirow server behind HTTP proxy.\n\n### Wirow server on your domain with Let's Encrypt Certificates (Recommended)\n\nPlease check what your host is accessible by your domain name and 80/443, 44300-44600 tcp/udp ports are accessible.\n\nExample:\n\n```sh\n\n# Below `start01` is the initial password for `admin` user\n\ndocker run --name wirow wirow -n mywirow.example.com -a start01\n```\nLater you may change your password and manage users by Admin UI.\n\n### Wirow server on your host with own HTTPS certificates\n\nHere is the Example:\n\n```sh\n\nWIROWSRC=\u003cpath to wirow cloned repo\u003e\nWORKDIR=\u003cpath to my workdir\u003e\n\nmkdir -p ${WORKDIR}/config\ncd ${WORKDIR}/config\n\nopenssl req -x509 -nodes -days 3650 -newkey ec:\u003c(openssl ecparam -name prime256v1) \\\n          -keyout wirow-eckey.pem -out wirow-ecdsacert.pem\n\ncp ${WIROWSRC}/docker/wirow.ini ./wirow.ini\n\necho -e '\\n\\n[main]' \u003e\u003e ./wirow.ini\necho 'cert_file = {config_file_dir}/wirow-ecdsacert.pem' \u003e\u003e ./wirow.ini\necho 'cert_key_file = {config_file_dir}/wirow-eckey.pem' \u003e\u003e ./wirow.ini\n\n# Below `start01` is the initial password for admin user\n\ndocker run --name wirow -v ${WORKDIR}/config:/config wirow -a start01\n\n23 Apr 17:15:06.543 INFO: main:ip=auto\n23 Apr 17:15:06.543 INFO: main:data=/data\n23 Apr 17:15:06.543 INFO: rtc:ports=44300..44600\n23 Apr 17:15:06.543 INFO: main:cert_file=/config/wirow-ecdsacert.pem\n23 Apr 17:15:06.543 INFO: main:cert_key_file=/config/wirow-eckey.pem\n23 Apr 17:15:06.543 INFO: Number of workers: 6\n23 Apr 17:15:06.544 INFO: Autodetected external IP address for wirow server: 172.17.0.2\n23 Apr 17:15:06.544 INFO: Opening /data/wirow.db\n23 Apr 17:15:06.791 INFO: Server on: 172.17.0.2:443\n23 Apr 17:15:06.791 INFO: HTTP/HTTPS redirect port: 80\n```\n\nPoint your browser `https://172.17.0.2` (specific to this example) then use `admin/start01` credentials at login page.\nLater you may change your password and manage users by Admin UI.\n\n### Wirow server behind HTTP proxy\n\nPlease refer to [Wirow server Administrator's Guide](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow.adoc)\n\n\n\n\n\n## Building from sources by hands\n\n### Build Prerequisites\n\n* Linux or FreeBSD\n* Git\n* CMake v3.18+\n* GNU Make, autoconf, automake, libtool, ninja (optional)\n* Nodejs v16+ and Yarn package manager v1.22+\n* Clang C/C++ compiler v10+ or GCC v9+\n* yasm assembler (yasm) needed by FFmpeg\n* Python 3 pip package manager (python3-pip)\n\nExample of prerequisite software installation on Debian/Ubuntu Linux:\n\n```sh\napt-get install -y apt-utils software-properties-common \\\n                   apt-transport-https sudo curl wget gpg\n\nwget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2\u003e/dev/null \\\n       | gpg --dearmor -i \\\n       | tee /etc/apt/trusted.gpg.d/kitware.gpg \u003e/dev/null\nwget -qO- https://deb.nodesource.com/setup_lts.x | bash -\nwget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -\n\napt-add-repository -y 'deb https://apt.kitware.com/ubuntu/ focal main'\necho \"deb https://dl.yarnpkg.com/debian/ stable main\" | tee /etc/apt/sources.list.d/yarn.list\n\napt-get update\napt-get install -y autoconf automake pkgconf \\\n  binutils build-essential ca-certificates cmake \\\n  g++ gcc git libtool make ninja-build nodejs python-is-python3 yarn \\\n  yasm python3-pip\n```\n\n### Building\n\n```sh\ngit clone --recurse-submodules https://github.com/wirow-io/wirow-server.git\n\nmkdir -p ./wirow-server/build \u0026\u0026 cd ./wirow-server/build\n\ncmake ..  -G Ninja \\\n          -DCMAKE_BUILD_TYPE=RelWithDebInfo \\\n          -DIW_EXEC=ON\nninja\n```\n\nWirow build artifacts are located here:\n\n```sh\n ./build/src/wirow    # Stripped binary\n ./build/src/wirow_g  # Binary with debug symbols (Not stripped)\n```\n\n\n\n\n\n## Guides\n\n- [Wirow Server Administrator's Guide](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow.adoc) ([pdf](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow.pdf))\n- [Wirow Server Configuration Reference](https://github.com/wirow-io/wirow-server/blob/master/docs/wirow-configuration.ini)\n\n\n# License\n\n```\n/*\n * Copyright (C) 2022 Greenrooms, Inc.\n *\n * This program is free software: you can redistribute it and/or modify it under\n * the terms of the GNU Affero General Public License as published by the Free\n * Software Foundation, either version 3 of the License, or (at your option) any\n * later version.\n *\n * This program is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more\n * details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program.  If not, see http://www.gnu.org/licenses/\n */\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwirow-io%2Fwirow-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwirow-io%2Fwirow-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwirow-io%2Fwirow-server/lists"}