
AnyCable-Go WebSocket Server
WebSocket server for AnyCable.
Installation
The easiest way to install AnyCable-Go is to download a pre-compiled binary.
MacOS users could install it with Homebrew
brew install anycable-go
Arch Linux users can install anycable-go package from AUR.
Of course, you can install it from source too:
go get -u -f github.com/anycable/anycable-go/cmd/anycable-go
NOTE: right now it's not possible to build anycable-go with mruby support using the command above. To install anycable-go with mruby from source try:
go get -d -u -f github.com/anycable/anycable-go/cmd/anycable-go && (cd $GOPATH/src/github.com/anycable/anycable-go && make prepare-mruby install-with-mruby)
Upgrade
For instructions on how to upgrade to a newer version see upgrade notes.
Heroku
See heroku-anycable-go buildpack.
Usage
Run server:
$ anycable-go
=> INFO 2018-03-05T08:44:57.684Z context=main Starting AnyCable 0.6.0
You can also provide configuration parameters through the corresponding environment variables (i.e. ANYCABLE_RPC_HOST, ANYCABLE_REDIS_URL, etc).
For more information about available options run anycable-go -h.
📑 Documentation
Build
# first, prepare mruby (we embed it by default)
make prepare-mruby
# then build the Go binary (will be available in dist/anycable-go)
make
Docker
See available images here.
ActionCable Compatibility
| Feature |
Status |
| Connection Identifiers |
+ |
| Connection Request (cookies, params) |
+ |
| Disconnect Handling |
+ |
| Subscribe to channels |
+ |
| Parameterized subscriptions |
+ |
| Unsubscribe from channels |
+ |
| Performing Channel Actions |
+ |
| Streaming |
+ |
| Usage of the same stream name for different channels |
+ |
| Broadcasting |
+ |
| Remote disconnect |
- (WIP) |
| Custom stream callbacks |
- |
| Subscription Instance Variables |
- |
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/anycable/anycable-go.
Please, provide reproduction script (using this template) when submitting bugs if possible.
License
The library is available as open source under the terms of the MIT License.