|
11 years ago | |
---|---|---|
build | 11 years ago | |
debian | 11 years ago | |
doc | 11 years ago | |
html | 11 years ago | |
m4 | 11 years ago | |
src | 11 years ago | |
static | 11 years ago | |
.gitignore | 11 years ago | |
.gitmodules | 11 years ago | |
.hound.yml | 11 years ago | |
.jshint | 11 years ago | |
.travis.yml | 11 years ago | |
AUTHORS | 11 years ago | |
COPYING | 11 years ago | |
ChangeLog | 11 years ago | |
Dockerfile | 11 years ago | |
LICENSE | 12 years ago | |
Makefile.am | 11 years ago | |
NEWS | 11 years ago | |
README | 11 years ago | |
README.md | 11 years ago | |
autogen.sh | 11 years ago | |
configure.ac | 11 years ago | |
package.json | 11 years ago | |
server.conf.in | 11 years ago | |
spreed-webrtc-server | 11 years ago |
README.md
Spreed WebRTC
The latest version of Spreed WebRTC can be found on GitHub:
https://github.com/strukturag/spreed-webrtc
Build prerequisites
Runtime dependencies
Spreed WebRTC compiles directly to native code and has no external runtime dependencies. See http://golang.org/doc/faq#How_is_the_run_time_support_implemented for details.
Building
If you got spreed-webrtc from the git repository, you will first need
to run the included autogen.sh
script to generate the configure
script.
Configure does try to find all the tools on your system at the standard locations. If the dependencies are somewhere else, add the corresponding parameters to the ./configure call.
$ ./configure
$ make
Build seperately
Get Go external dependencies first with make get
.
$ make assets
$ make binary
Server startup
spreed-webrtc-server [OPTIONS]
Options
-c="./server.conf": Configuration file.
-cpuprofile="": Write cpu profile to file.
-h=false: Show this usage information and exit.
-l="": Log file, defaults to stderr.
-memprofile="": Write memory profile to this file.
-v=false: Display version number and exit.
An example configuration file can be found in server.conf.in.
Usage
Connect to the server URL and port with a web browser and the web client will launch.
Development
To build styles and translations, further dependencies are required. The source tree contains already built styles and translations, so these are only required if you want to make changes.
The following Node.js modules are required, these may be installed
locally by running npm install
from the project root. Consult the
package.json
file for more details.
- JSHint >= 2.0.0
- autoprefixer >= 1.1
- po2json
Styles can be found in src/styles. Translations are found in src/i18n. Each folder has its own Makefile to build the corresponding files.
Running server for development
Copy the server.conf.in to server.conf.
Build styles, javascript and binary using make. Then run
./spreed-webrtc-server
The server runs on http://localhost:8080/ per default.
HTML changes and Go rebuilds need a server restart. Javascript and CSS reload directly.
Branding
Insert logo in static/img
. Edit src/styles/global/_branding.scss
to link
to desired custom logo. It is also possible to insert the raw svg data.
Skins
Insert skins in src/styles/global/skins
and edit the @import "skins/light";
line in src/styles/global/_variables.scss
. Available skins are light and
dark. It is recommended to create a new skin file if you wish to customize
colors.
Running for production
Spreed WebRTC should be run through a SSL frontend proxy with
support for Websockets. Example configuration for Nginx can be
found in doc/NGINX.txt
.
In addion for real work use one also needs a STUN/TURN server configured with shared secret support.
See https://code.google.com/p/rfc5766-turn-server/ for a free open source TURN server implementation. Make sure to use a recent version (We recommend 3.2). Versions below 2.5 are not supported.
Contributing
- "Fork".
- Make a feature branch.
- Make changes.
- Do your commits (run
make fmt
andmake jshint
before commit). - Send "pull request".
License
Spreed WebRTC
uses the AGPL license, see our LICENSE
file.