├── .dockerignore ├── docs └── assets │ ├── slack-scopes.png │ ├── slack-bot-token.png │ ├── slack-create-app.png │ ├── slack-test-message.png │ └── recap-slack-settings.png ├── .gitmodules ├── LICENSE ├── README.md ├── docker-compose.yml ├── .github └── assets │ └── logo.svg └── logo.svg /.dockerignore: -------------------------------------------------------------------------------- 1 | ui/node_modules 2 | backend/node_modules 3 | -------------------------------------------------------------------------------- /docs/assets/slack-scopes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/infinite-cat/recap.dev-server/HEAD/docs/assets/slack-scopes.png -------------------------------------------------------------------------------- /docs/assets/slack-bot-token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/infinite-cat/recap.dev-server/HEAD/docs/assets/slack-bot-token.png -------------------------------------------------------------------------------- /docs/assets/slack-create-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/infinite-cat/recap.dev-server/HEAD/docs/assets/slack-create-app.png -------------------------------------------------------------------------------- /docs/assets/slack-test-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/infinite-cat/recap.dev-server/HEAD/docs/assets/slack-test-message.png -------------------------------------------------------------------------------- /docs/assets/recap-slack-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/infinite-cat/recap.dev-server/HEAD/docs/assets/recap-slack-settings.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "build/recap.dev-ui"] 2 | path = build/recap.dev-ui 3 | url = git@github.com:infinite-cat/recap.dev-ui.git 4 | [submodule "build/recap.dev-backend"] 5 | path = build/recap.dev-backend 6 | url = git@github.com:infinite-cat/recap.dev-backend.git 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Arseny Yankovski 4 | 5 | Copyright (c) 2020 Eugene Draitsev 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 5 |
6 |

7 | 8 | [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/infinite-cat/recap.dev-server/blob/master/LICENSE) [![recap.dev Docker Hub](https://img.shields.io/badge/Docker%20Hub-recapdev%2Fserver-informational "recap.dev Docker Hub")](https://hub.docker.com/repository/docker/recapdev/server) 9 | 10 | [Website](https://recap.dev) | [Documentation](https://recap.dev/docs/) | [Demo](https://demo.recap.dev/) | [Report a Bug](https://github.com/infinite-cat/recap.dev-server/issues/new) 11 | 12 | 13 | recap.dev is an open-source cloud observability and tracing solution for modern JavaScript backends. Our goal is to make it easier for everyone to find sources of errors, find bottlenecks, and improve overall developer quality of life. 14 | 15 | * **Detailed per-endpoint tracing:** recap.dev builds a timeline of what is going on during endpoint handler execution. 16 | That includes database and external calls as well as timings of individual functions simplifying debugging and performance optimization. 17 | recap.dev also provides an overview of the system and tries to give you as much useful information as possible. 18 | 19 | * **Easy-to-setup**: recap.dev server is easy to start with a couple of commands. It is shipped as a Docker container, so it can be 20 | started wherever you host your applications. We try to integrate with as many tools as possible to provide an easy way of tracing your application with minimal to no code changes. 21 | 22 | * **Open-source**: We believe that development tools should be open-source. Especially tools that might gather or contain sensitive data. 23 | Hosting these tools on your servers is important so that the sensitive data never leaves your organization. It is also important to know what precisely these tools do with your data. 24 | 25 | [Learn how to start with recap.dev](https://recap.dev/docs/) 26 | 27 | ## recap.dev-server 28 | 29 | **recap.dev-server** repository holds scripts and docker compose templates to build and run the recap.dev server out of [backend](https://github.com/infinite-cat/recap.dev-backend) and [frontend](https://github.com/infinite-cat/recap.dev-ui) projects. 30 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | 3 | services: 4 | postgres: 5 | restart: unless-stopped 6 | container_name: postgres_container 7 | image: postgres:12 8 | environment: 9 | POSTGRES_USER: 'postgres' 10 | POSTGRES_PASSWORD: 'password' 11 | PGDATA: /data/postgres 12 | volumes: 13 | - postgres:/data/postgres 14 | ports: 15 | - "5432:5432" 16 | networks: 17 | - postgres 18 | 19 | rabbitmq: 20 | restart: unless-stopped 21 | image: rabbitmq:3-management-alpine 22 | container_name: rabbitmq 23 | ports: 24 | - 5672:5672 25 | - 15672:15672 26 | volumes: 27 | - rabbitmq:/var/lib/rabbitmq 28 | networks: 29 | - rabbitmq 30 | 31 | recap_dev_ui_server: 32 | container_name: recap_dev_ui_server 33 | image: recapdev/server:0.6.3 34 | environment: 35 | postgresHost: postgres 36 | postgresUsername: postgres 37 | postgresPassword: password 38 | postgresDatabase: postgres 39 | POSTGRES_QUERY_TIMEOUT: 30000 40 | TRACING_API_ENABLED: 'false' 41 | BACKGROUND_JOBS_ENABLED: 'false' 42 | mem_limit: 256m 43 | ports: 44 | - "8081:8081" 45 | networks: 46 | - postgres 47 | restart: unless-stopped 48 | 49 | recap_dev_tracing_server: 50 | container_name: recap_dev_tracing_server 51 | image: recapdev/server:0.6.3 52 | environment: 53 | postgresHost: postgres 54 | postgresUsername: postgres 55 | postgresPassword: password 56 | postgresDatabase: postgres 57 | QUEUE_URL: 'amqp://rabbitmq' 58 | UI_ENABLED: 'false' 59 | BACKGROUND_JOBS_ENABLED: 'false' 60 | mem_limit: 256m 61 | ports: 62 | - "8080:8080" 63 | networks: 64 | - postgres 65 | - rabbitmq 66 | restart: unless-stopped 67 | 68 | recap_dev_jobs: 69 | container_name: recap_dev_jobs 70 | image: recapdev/server:0.6.3 71 | environment: 72 | postgresHost: postgres 73 | postgresUsername: postgres 74 | postgresPassword: password 75 | postgresDatabase: postgres 76 | QUEUE_URL: 'amqp://rabbitmq' 77 | UI_ENABLED: 'false' 78 | TRACING_API_ENABLED: 'false' 79 | TRACE_PROCESSING_BATCH_SIZE: 100 80 | NODE_OPTIONS: --max-old-space-size=512 81 | mem_limit: 512m 82 | networks: 83 | - postgres 84 | - rabbitmq 85 | restart: unless-stopped 86 | 87 | networks: 88 | postgres: 89 | driver: bridge 90 | rabbitmq: 91 | driver: bridge 92 | volumes: 93 | postgres: 94 | rabbitmq: 95 | -------------------------------------------------------------------------------- /.github/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | --------------------------------------------------------------------------------