{"id":19572414,"url":"https://github.com/linjunpop/archiver_demo","last_synced_at":"2025-07-07T00:03:54.089Z","repository":{"id":142554415,"uuid":"142512829","full_name":"linjunpop/archiver_demo","owner":"linjunpop","description":"A demo which imitate the RingCentral Archiver","archived":false,"fork":false,"pushed_at":"2018-07-27T05:22:25.000Z","size":25,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T11:14:33.238Z","etag":null,"topics":["archiver","elixir","ringcentral"],"latest_commit_sha":null,"homepage":"https://speakerdeck.com/linjunpop/microservices","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linjunpop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-27T01:34:22.000Z","updated_at":"2020-12-09T10:38:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"b992cc21-c74c-423a-8047-5d86e58c5a12","html_url":"https://github.com/linjunpop/archiver_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linjunpop%2Farchiver_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linjunpop%2Farchiver_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linjunpop%2Farchiver_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linjunpop%2Farchiver_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linjunpop","download_url":"https://codeload.github.com/linjunpop/archiver_demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linjunpop%2Farchiver_demo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258131292,"owners_count":22654425,"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":["archiver","elixir","ringcentral"],"created_at":"2024-11-11T06:26:37.139Z","updated_at":"2025-07-07T00:03:54.051Z","avatar_url":"https://github.com/linjunpop.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Archiver\n\nA demo application to imitate the RingCentral Archiver.\n\n## Description\n\nIt's an Elixir Umbrella application, which include these sub-applications:\n\n- [archiver_fetcher](apps/archiver_fetcher) - fetch recordings from the Platform API.\n- [archiver_dropbox](apps/archiver_dropbox) - Deliver data to Dropbox with a http pooling.\n- [archiver_google_drive](apps/archiver_google_drive) - Deliver data to Google Drive with a per-user worker system.\n- [archiver_shared](apps/archiver_shared) - Common lib for other applications.\n- [archiver_ui](apps/archiver_ui) - The Web UI\n\n```\n+-------------------------------------------------------------------------------+\n|                                     Archiver                                  |\n|                                                                               |\n|  +--------+            +---------------+          +-------------------------+ |\n|  |        |            |               |          |         Worker          | |\n|  |   UI   |            |    Fetcher    |          |                         | |\n|  |        |            |               |          | +--------+ +----------+ | |\n|  |        |   HTTP     |               |   HTTP   | |        | |          | | |\n|  |        +-----------\u003e|               |\u003c---------+ | Google | | Dropbox  | | |\n|  |        |            |               |          | | Drive  | |          | | |\n|  |        |            +---------------+          | |        | |          | | |\n|  |        |                                       | |        | |          | | |\n|  |        |                 HTTP                  | |        | |          | | |\n|  |        +-------------------------------------\u003e | |        | |          | | |\n|  |        |                                       | +--------+ +----------+ | |\n|  +--------+                                       +-------------------------+ |\n+-------------------------------------------------------------------------------+\n```\n\n## Usage\n\n### Running locally\n\n```\n$ iex -S mix\n```\n\nVisit http://localhost:5002 for the UI.\n\n### Running in a local Docker Swarm\n\nhttps://docs.docker.com/engine/swarm/stack-deploy/\n\n```shell\n$ docker service create --name registry --publish published=5000,target=5000 registry:2\n\n$ docker-compose -f swarm.yml push\n\n$ docker stack deploy --compose-file swarm.yml archiver\n\n```\n\n- Visit http://localhost:5002 for UI.\n- Visit http://localhost:9090 for Docker Visualizer.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinjunpop%2Farchiver_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinjunpop%2Farchiver_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinjunpop%2Farchiver_demo/lists"}