From 4a1e1e14becf47998a5ed876c4fac64d403ab783 Mon Sep 17 00:00:00 2001 From: Rachid F Date: Thu, 18 Apr 2024 20:30:57 +0200 Subject: [PATCH 1/4] :bricks: Adding authentication to Redis Service --- .env.example | 7 ++++++- .gitignore | 1 + docker-compose.dev.yml | 18 +++++++++++++++--- docker-compose.source.yml | 7 +++++-- docker-compose.yml | 11 ++++++++--- docs/Dockerfile.dev | 15 +++++++++++++++ 6 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 docs/Dockerfile.dev diff --git a/.env.example b/.env.example index 8c906bb4c..3653c7cc5 100644 --- a/.env.example +++ b/.env.example @@ -13,7 +13,12 @@ ENV=dev DISTRIBUTION=selfhosted OAUTH_REDIRECT_BASE=http://localhost:3000 SENTRY_DSN= - +# ================================================ +# REDIS +REDIS_HOST=redis +REDIS_PORT=6379 +REDIS_PASS=A3vniod98Zbuvn9u5 +# ================================================ # ================================================ # Database diff --git a/.gitignore b/.gitignore index 6392d51b0..72a33af56 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ redis_data .DS_Store .pnpm-store/ .npmrc +.vscode \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 57e8a3bc4..1cf3db8ec 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -33,7 +33,9 @@ services: DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/${POSTGRES_DB}?ssl=false DISTRIBUTION: ${DISTRIBUTION} JWT_SECRET: ${JWT_SECRET} - REDIS_HOST: redis + REDIS_HOST: ${REDIS_HOST} + REDIS_PASS: ${REDIS_PASS} + REDIS_PORT: ${REDIS_PORT} ENCRYPT_CRYPTO_SECRET_KEY: ${ENCRYPT_CRYPTO_SECRET_KEY} HUBSPOT_CRM_CLOUD_CLIENT_ID: ${HUBSPOT_CRM_CLOUD_CLIENT_ID} HUBSPOT_CRM_CLOUD_CLIENT_SECRET: ${HUBSPOT_CRM_CLOUD_CLIENT_SECRET} @@ -126,9 +128,10 @@ services: redis: image: valkey/valkey:7.2-alpine - container_name: "Redis" + container_name: 'Redis' + command: valkey-server --requirepass ${REDIS_PASS} ports: - - "6379:6379" + - '${REDIS_PORT}:${REDIS_PORT}' volumes: - ./redis-data:/data networks: @@ -179,6 +182,15 @@ services: - frontend volumes: - .:/app + + docs: + build: + dockerfile: ./Dockerfile.dev + context: ./docs/ + ports: + - 911:3000 + volumes: + - ./docs/:/app networks: frontend: diff --git a/docker-compose.source.yml b/docker-compose.source.yml index 87abe187c..77c62534b 100644 --- a/docker-compose.source.yml +++ b/docker-compose.source.yml @@ -34,7 +34,9 @@ services: DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/${POSTGRES_DB}?ssl=false DISTRIBUTION: ${DISTRIBUTION} JWT_SECRET: ${JWT_SECRET} - REDIS_HOST: redis + REDIS_HOST: ${REDIS_HOST} + REDIS_PASS: ${REDIS_PASS} + REDIS_PORT: ${REDIS_PORT} ENCRYPT_CRYPTO_SECRET_KEY: ${ENCRYPT_CRYPTO_SECRET_KEY} HUBSPOT_CRM_CLOUD_CLIENT_ID: ${HUBSPOT_CRM_CLOUD_CLIENT_ID} HUBSPOT_CRM_CLOUD_CLIENT_SECRET: ${HUBSPOT_CRM_CLOUD_CLIENT_SECRET} @@ -121,8 +123,9 @@ services: redis: image: valkey/valkey:7.2-alpine container_name: 'Redis' + command: valkey-server --requirepass ${REDIS_PASS} ports: - - '6379:6379' + - '${REDIS_PORT}:${REDIS_PORT}' volumes: - ./redis-data:/data networks: diff --git a/docker-compose.yml b/docker-compose.yml index 13943c02f..38e328349 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,7 +28,9 @@ services: DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/${POSTGRES_DB}?ssl=false DISTRIBUTION: ${DISTRIBUTION} JWT_SECRET: ${JWT_SECRET} - REDIS_HOST: redis + REDIS_HOST: ${REDIS_HOST} + REDIS_PASS: ${REDIS_PASS} + REDIS_PORT: ${REDIS_PORT} ENCRYPT_CRYPTO_SECRET_KEY: ${ENCRYPT_CRYPTO_SECRET_KEY} HUBSPOT_CRM_CLOUD_CLIENT_ID: ${HUBSPOT_CRM_CLOUD_CLIENT_ID} HUBSPOT_CRM_CLOUD_CLIENT_SECRET: ${HUBSPOT_CRM_CLOUD_CLIENT_SECRET} @@ -113,15 +115,18 @@ services: networks: - backend + redis: image: valkey/valkey:7.2-alpine - container_name: "Redis" + container_name: 'Redis' + command: valkey-server --requirepass ${REDIS_PASS} ports: - - "6379:6379" + - '${REDIS_PORT}:${REDIS_PORT}' volumes: - ./redis-data:/data networks: - backend + magic-link-frontend: image: panoradotdev/frontend-magic-links:selfhosted diff --git a/docs/Dockerfile.dev b/docs/Dockerfile.dev new file mode 100644 index 000000000..e54cd782e --- /dev/null +++ b/docs/Dockerfile.dev @@ -0,0 +1,15 @@ +FROM node:20-alpine AS base + +# Set pnpm +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" +RUN corepack enable +RUN pnpm add -g mintlify + +WORKDIR /app + +# Documentation is served on port 3000. +EXPOSE 3000 + +# Run Documentation +CMD mintlify dev \ No newline at end of file From 052c4047fdae5f8485733321306404f4620b0c24 Mon Sep 17 00:00:00 2001 From: Rachid F Date: Thu, 18 Apr 2024 20:33:51 +0200 Subject: [PATCH 2/4] :green_heart: Removed unnecessary auth in docker checkers --- .github/workflows/docker.check-build.backend.selfhosted.yml | 6 ------ .../workflows/docker.check-build.frontend.selfhosted.yml | 6 ------ 2 files changed, 12 deletions(-) diff --git a/.github/workflows/docker.check-build.backend.selfhosted.yml b/.github/workflows/docker.check-build.backend.selfhosted.yml index 3eceec048..aaa0177a9 100644 --- a/.github/workflows/docker.check-build.backend.selfhosted.yml +++ b/.github/workflows/docker.check-build.backend.selfhosted.yml @@ -18,12 +18,6 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and push Backend (API) uses: docker/build-push-action@v2 with: diff --git a/.github/workflows/docker.check-build.frontend.selfhosted.yml b/.github/workflows/docker.check-build.frontend.selfhosted.yml index 5a7e775b0..f7c6e196d 100644 --- a/.github/workflows/docker.check-build.frontend.selfhosted.yml +++ b/.github/workflows/docker.check-build.frontend.selfhosted.yml @@ -18,12 +18,6 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and push Frontend (Magic Links) uses: docker/build-push-action@v2 with: From 1e5dcfc353712a1db645986118e39005df47f385 Mon Sep 17 00:00:00 2001 From: Rachid F Date: Thu, 18 Apr 2024 21:40:29 +0200 Subject: [PATCH 3/4] :green_heart: Fix unnecessary push on frontend docker images --- .github/workflows/docker.check-build.frontend.selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.check-build.frontend.selfhosted.yml b/.github/workflows/docker.check-build.frontend.selfhosted.yml index f7c6e196d..2ccf3a92f 100644 --- a/.github/workflows/docker.check-build.frontend.selfhosted.yml +++ b/.github/workflows/docker.check-build.frontend.selfhosted.yml @@ -35,7 +35,7 @@ jobs: platforms: linux/amd64,linux/arm64 context: . file: ./apps/client-ts/Dockerfile - push: true + push: false tags: panoradotdev/frontend-webapp:selfhosted build-args: | NEXT_PUBLIC_BACKEND_DOMAIN=${{ secrets.NEXT_PUBLIC_BACKEND_DOMAIN }} From b9df9f79f58a4a268c52be44285a1ebd80a49033 Mon Sep 17 00:00:00 2001 From: Rachid F Date: Thu, 18 Apr 2024 23:19:53 +0200 Subject: [PATCH 4/4] :memo: Added catalog to frontpage --- README.md | 51 +++++++++++++++++++--------- packages/api/src/crm/README.md | 31 +++++++---------- packages/api/src/ticketing/README.md | 21 +++++------- 3 files changed, 55 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 8eb0252bd..7f1198c4f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@
-

Welcome on Panora

+

Panora

+

Open-Source Unified API

![Hero](https://panora.dev/wp-content/uploads/2023/12/github-banner.png) @@ -27,24 +28,44 @@ Your customers expect all of their tools to work well together. Panora avoids your team spending hundreds of hours building and maintaining integrations instead of your core product. -## 🔮 Core Features + +# ✨ Core Features | | |---------------------------| | **Magic Links:** Let your users grant you access to their data. Without writing code. | | **Custom Fields:** Reflect in Panora the specific data points that matter to your users | | **Passthrough Requests:** Interact with other software platforms in their native format. | -| **Flexible Sync Settings:** Businesses that need real-time update can configure Panora accordingly | | **Webhooks:** Listen to one webhook to receive normalized data from various software platforms | -## 🤝 Core Values -| | -|-------------------------------------------| -| đŸ’ģ Easy Developer Experience | -| đŸĢĄ Fair Value Share: Contributors are valuable, so we've decided to let our community tip our heroes | +# ✨ Integrations Catalog +Panora supports integration with the following objects across multiple platforms: + +### CRM +| | Contacts | Deals | Notes | Engagements | Tasks | Users | Companies | +|-----------------------------------------------|:--------:|:-----:|:-----:|:-----------:|:-----:|:-----:|:---------:| +| Hubspot | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| Pipedrive | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| Zoho CRM | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| Zendesk Sell | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| Freshsales | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| Attio | ✔ī¸ | | | | | | ✔ī¸ | + + +### Ticketing +| | Tickets | Comments | Users | Contacts | Accounts | Tags | Teams | Collections | +|-------------|:----------:|:-------:|:-------:|:------------:|:-------:|:-------:|:------:|:-------------:| +| Zendesk | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Front | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Jira | ✔ | ✔ | ✔ | | | ✔ | ✔ | ✔ | +| Gorgias | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | -## 🕹ī¸ Play with the Self-hosted version +Your favourite software is missing? [Ask the community to build a connector!](https://github.com/panoratech/Panora/issues/new) + + + +# 🕹ī¸ Try the Open-Source version - Prerequisite: You should have Git and Docker installed @@ -65,19 +86,17 @@ Your customers expect all of their tools to work well together. Panora avoids yo ``` docker compose up ``` - -You can now open your browser and go to to connect to the application. Visit our [Quickstart Guide](https://docs.panora.dev/quick-start) to start adding integrations to your product -## 🤔 Have questions? Ask the core team +# 🤔 Questions? Ask the core team Book us with Cal.com -## 🚀 Contributors +# 🚀 Contributors -

- -

+ + + Want to contribute? Visit our [guide](https://docs.panora.dev/open-source/contributors#setup-your-environnement) or check our detailed integrations guide [here.](https://github.com/panoratech/Panora/blob/main/INTEGRATIONS.md) diff --git a/packages/api/src/crm/README.md b/packages/api/src/crm/README.md index bc4404f22..00caa4127 100644 --- a/packages/api/src/crm/README.md +++ b/packages/api/src/crm/README.md @@ -1,20 +1,13 @@ -## CRM Integrations Catalog - +### CRM Panora supports integration with the following objects across multiple platforms: - -| | Contacts | Deals | Notes | Engagements | Tasks | Users | -|-------------|----------|-------|-------|------------|-------|-------| -| Hubspot | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Pipedrive | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Zoho CRM | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Zendesk | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Freshsales | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | - - - -Your CRM is missing? Or an object you need? - -1. [Ask the Panora community for this integration.](https://panora.canny.io/integration-requests) -2. Browse existing requests to check if someone else asked for the CRM or feature you need. If so, upvote the existing request to show your support. You can also tip a contributor for this specific task! -3. If your desired integration isn't listed, click the "New Integration" button to submit a new integration request. Provide as much detail as possible about the CRM and the feature needed. -Thanks! 🙏 \ No newline at end of file +| CRM | Contacts | Deals | Notes | Engagements | Tasks | Users | Companies | +|-----------------------------------------------|:--------:|:-----:|:-----:|:-----------:|:-----:|:-----:|:---------:| +| [Hubspot](https://www.hubspot.com) | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| [Pipedrive](https://www.pipedrive.com) | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| [Zoho CRM](https://www.zoho.com/crm) | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| [Zendesk Sell](https://www.zendesk.com/sell/) | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| [Freshsales](https://www.freshworks.com/crm/sales/) | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | ✔ī¸ | | +| [Attio](https://attio.com) | ✔ī¸ | | | | | | ✔ī¸ | +Your favourite software is missing? [Ask the community to build a connector!](https://github.com/panoratech/Panora/issues/new) + +Thanks to our contributors: [mit-27](https://github.com/mit-27) \ No newline at end of file diff --git a/packages/api/src/ticketing/README.md b/packages/api/src/ticketing/README.md index 4a7c6ba7f..89cd585a8 100644 --- a/packages/api/src/ticketing/README.md +++ b/packages/api/src/ticketing/README.md @@ -1,17 +1,12 @@ -## Ticketing Integrations Catalog +### Ticketing Panora supports integration with the following objects across multiple platforms: -| | Tickets | Comments | Users | Contacts | Accounts | Tags | Teams | -|-------------|----------|-------|-------|------------|-------|-------|------| -| Zendesk | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Front | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| | Tickets | Comments | Users | Contacts | Accounts | Tags | Teams | Collections | +|-------------|:----------:|:-------:|:-------:|:------------:|:-------:|:-------:|:------:|:-------------:| +| Zendesk | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Front | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Jira | ✔ | ✔ | ✔ | | | ✔ | ✔ | ✔ | +| Gorgias | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | - - -An object is missing? Or a platform you want to integrate? - -1. [Ask the Panora community for this integration.](https://panora.canny.io/integration-requests) -2. Browse existing requests to check if someone else asked for the CRM or feature you need. If so, upvote the existing request to show your support. You can also tip a contributor for this specific task! -3. If your desired integration isn't listed, click the "New Integration" button to submit a new integration request. Provide as much detail as possible about the CRM and the feature needed. -Thanks! 🙏 \ No newline at end of file +Your favourite software is missing? [Ask the community to build a connector!](https://github.com/panoratech/Panora/issues/new) \ No newline at end of file