https://github.com/linjunpop/archiver_demo
A demo which imitate the RingCentral Archiver
https://github.com/linjunpop/archiver_demo
archiver elixir ringcentral
Last synced: 11 months ago
JSON representation
A demo which imitate the RingCentral Archiver
- Host: GitHub
- URL: https://github.com/linjunpop/archiver_demo
- Owner: linjunpop
- Created: 2018-07-27T01:34:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-27T05:22:25.000Z (almost 8 years ago)
- Last Synced: 2025-02-26T11:14:33.238Z (over 1 year ago)
- Topics: archiver, elixir, ringcentral
- Language: Elixir
- Homepage: https://speakerdeck.com/linjunpop/microservices
- Size: 24.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Archiver
A demo application to imitate the RingCentral Archiver.
## Description
It's an Elixir Umbrella application, which include these sub-applications:
- [archiver_fetcher](apps/archiver_fetcher) - fetch recordings from the Platform API.
- [archiver_dropbox](apps/archiver_dropbox) - Deliver data to Dropbox with a http pooling.
- [archiver_google_drive](apps/archiver_google_drive) - Deliver data to Google Drive with a per-user worker system.
- [archiver_shared](apps/archiver_shared) - Common lib for other applications.
- [archiver_ui](apps/archiver_ui) - The Web UI
```
+-------------------------------------------------------------------------------+
| Archiver |
| |
| +--------+ +---------------+ +-------------------------+ |
| | | | | | Worker | |
| | UI | | Fetcher | | | |
| | | | | | +--------+ +----------+ | |
| | | HTTP | | HTTP | | | | | | |
| | +----------->| |<---------+ | Google | | Dropbox | | |
| | | | | | | Drive | | | | |
| | | +---------------+ | | | | | | |
| | | | | | | | | |
| | | HTTP | | | | | | |
| | +-------------------------------------> | | | | | | |
| | | | +--------+ +----------+ | |
| +--------+ +-------------------------+ |
+-------------------------------------------------------------------------------+
```
## Usage
### Running locally
```
$ iex -S mix
```
Visit http://localhost:5002 for the UI.
### Running in a local Docker Swarm
https://docs.docker.com/engine/swarm/stack-deploy/
```shell
$ docker service create --name registry --publish published=5000,target=5000 registry:2
$ docker-compose -f swarm.yml push
$ docker stack deploy --compose-file swarm.yml archiver
```
- Visit http://localhost:5002 for UI.
- Visit http://localhost:9090 for Docker Visualizer.