summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRonald Loyko <[email protected]>2022-10-10 07:57:00 +0300
committerGitHub <[email protected]>2022-10-09 21:57:00 -0700
commitb0eea0ef1605c1f80ab936cd9ff4a30e5c51b732 (patch)
tree3be80bbad9afdaf8e5f68370123efed98d2b7cec
parentc9adae846e117c53d5e9f82c335c7b1770486f23 (diff)
downloadcaprover-one-click-apps-b0eea0ef1605c1f80ab936cd9ff4a30e5c51b732.tar.gz
caprover-one-click-apps-b0eea0ef1605c1f80ab936cd9ff4a30e5c51b732.zip
feat: add novu (#757)
-rw-r--r--public/v4/apps/novu.yml227
-rw-r--r--public/v4/logos/novu.pngbin0 -> 18671 bytes
2 files changed, 227 insertions, 0 deletions
diff --git a/public/v4/apps/novu.yml b/public/v4/apps/novu.yml
new file mode 100644
index 0000000..7416f9a
--- /dev/null
+++ b/public/v4/apps/novu.yml
@@ -0,0 +1,227 @@
+captainVersion: 4
+services:
+ $$cap_appname-cache:
+ caproverExtra:
+ notExposeAsWebApp: 'true'
+ image: redis:$$cap_REDIS_VERSION
+
+ $$cap_appname-db:
+ caproverExtra:
+ notExposeAsWebApp: 'true'
+ image: mongo:$$cap_MONGO_VERSION
+ environment:
+ PUID: $$cap_PUID
+ PGID: $$cap_PGID
+ volumes:
+ - $$cap_appname-db:/data/db
+
+ $$cap_appname-api:
+ caproverExtra:
+ containerHttpPort: $$cap_NOVU_API_PORT
+ image: $$cap_NOVU_IMAGE_URL/api:$$cap_NOVU_IMAGE_VERSION
+ environment:
+ NODE_ENV: $$cap_ENVIRONMENT
+ API_ROOT_URL: http://$$cap_appname-api.$$cap_root_domain
+ DISABLE_USER_REGISTRATION: $$cap_NOVU_DISABLE_USER_REGISTRATION
+ PORT: $$cap_NOVU_API_PORT
+ FRONT_BASE_URL: http://$$cap_appname.$$cap_root_domain
+ MONGO_URL: mongodb://srv-captain--$$cap_appname-db/$$cap_MONGO_DB
+ REDIS_HOST: srv-captain--$$cap_appname-cache
+ REDIS_PORT: $$cap_REDIS_PORT
+ REDIS_DB_INDEX: $$cap_REDIS_DB_INDEX
+ S3_LOCAL_STACK: $$cap_NOVU_S3_LOCAL_STACK
+ S3_BUCKET_NAME: $$cap_NOVU_S3_BUCKET_NAME
+ S3_REGION: $$cap_NOVU_S3_REGION
+ AWS_ACCESS_KEY_ID: $$cap_NOVU_AWS_ACCESS_KEY_ID
+ AWS_SECRET_ACCESS_KEY: $$cap_NOVU_AWS_SECRET_ACCESS_KEY
+ JWT_SECRET: $$cap_NOVU_JWT_SECRET
+ STORE_ENCRYPTION_KEY: $$cap_NOVU_STORE_ENCRYPTION_KEY
+ SENTRY_DSN: $$cap_NOVU_API_SENTRY_DSN
+ depends_on:
+ - $$cap_appname-db
+ - $$cap_appname-cache
+
+ $$cap_appname-ws:
+ caproverExtra:
+ containerHttpPort: $$cap_NOVU_PORT_WEBSOCKET
+ image: $$cap_NOVU_IMAGE_URL/ws:$$cap_NOVU_IMAGE_VERSION
+ environment:
+ PORT: $$cap_NOVU_PORT_WEBSOCKET
+ NODE_ENV: $$cap_ENVIRONMENT
+ MONGO_URL: mongodb://srv-captain--$$cap_appname-db/$$cap_MONGO_DB
+ REDIS_HOST: srv-captain--$$cap_appname-cache
+ REDIS_PORT: $$cap_REDIS_PORT
+ JWT_SECRET: $$cap_NOVU_JWT_SECRET
+ depends_on:
+ - $$cap_appname-db
+ - $$cap_appname-cache
+
+ $$cap_appname:
+ caproverExtra:
+ containerHttpPort: $$cap_NOVU_PORT_APPLICATION
+ image: $$cap_NOVU_IMAGE_URL/web:$$cap_NOVU_IMAGE_VERSION
+ environment:
+ REACT_APP_API_URL: http://$$cap_appname-api.$$cap_root_domain
+ REACT_APP_ENVIRONMENT: $$cap_ENVIRONMENT
+ REACT_APP_WIDGET_EMBED_PATH: http://$$cap_appname-embed.$$cap_root_domain/embed.umd.min.js
+ REACT_APP_DOCKER_HOSTED_ENV: $$cap_NOVU_DOCKER_HOSTED_ENVIRONMENT
+ depends_on:
+ - $$cap_appname-api
+
+ $$cap_appname-widget:
+ caproverExtra:
+ containerHttpPort: $$cap_NOVU_PORT_WIDGET
+ image: $$cap_NOVU_IMAGE_URL/widget:$$cap_NOVU_IMAGE_VERSION
+ environment:
+ REACT_APP_API_URL: http://$$cap_appname-api.$$cap_root_domain
+ REACT_APP_WS_URL: http://$$cap_appname-ws.$$cap_root_domain
+ REACT_APP_ENVIRONMENT: $$cap_ENVIRONMENT
+ depends_on:
+ - $$cap_appname-api
+ - $$cap_appname
+
+ $$cap_appname-embed:
+ caproverExtra:
+ containerHttpPort: $$cap_NOVU_PORT_EMBED
+ image: $$cap_NOVU_IMAGE_URL/embed:$$cap_NOVU_IMAGE_VERSION
+ environment:
+ WIDGET_URL: http://$$cap_appname-widget.$$cap_root_domain
+ depends_on:
+ - $$cap_appname-widget
+
+caproverOneClickApp:
+ displayName: Novu
+ isOfficial: true
+ description: Open Source Notification Infrastructure For Developers
+ documentation: https://docs.novu.co
+ instructions:
+ start: |-
+ Novu is a fully functional real-time notification center for your web and react apps.
+ The only open-source notifications infrastructure that manages multi-channel content, scheduled notifications, digest engine, user preferences, and delivers Email, SMS, Push and Chat notifications using a single API.
+ end: |-
+ Novu has been successfully deployed! It might take few moments before it's fully started.
+ You can access it at `http://$$cap_appname.$$cap_root_domain`.
+ variables:
+ - id: $$cap_NOVU_IMAGE_VERSION
+ label: Application | Version
+ description: Version tag of Novu's Docker images. Check out their valid tags at https://github.com/novuhq/novu/pkgs/container/novu%2Fapi
+ defaultValue: '0.8.0'
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_IMAGE_URL
+ label: Application | Image URL
+ description: URL to Novu's Docker images.
+ defaultValue: ghcr.io/novuhq/novu
+ validRegex: /.{1,}/
+ - id: $$cap_REDIS_VERSION
+ label: Redis | Version
+ description: Version tag of Redis' image. Check out their valid tags at https://hub.docker.com/_/redis/tags
+ defaultValue: '7.0.5'
+ validRegex: /.{1,}/
+ - id: $$cap_MONGO_VERSION
+ label: MongoDB | Version
+ description: Version tag of MongoDB's image. Check out their valid tags at https://hub.docker.com/_/mongo/tags
+ defaultValue: '6.0.2'
+ validRegex: /.{1,}/
+ - id: $$cap_ENVIRONMENT
+ label: General | Environment
+ description: Application environment (e.g `dev`, `test`, `prod`, `ci`, `local`).
+ defaultValue: prod
+ validRegex: /^(dev|test|prod|ci|local)$/
+ - id: $$cap_NOVU_DOCKER_HOSTED_ENVIRONMENT
+ label: General | Docker-Hosted Environment
+ description: Whether to the application is hosted in Docker.
+ defaultValue: 'true'
+ validRegex: /^(true|false)$/
+ - id: $$cap_PUID
+ label: General | User ID
+ description: User ID that the process uses, run `id $user` on your instance to see the ID.
+ defaultValue: 1000
+ validRegex: /.{1,}/
+ - id: $$cap_PGID
+ label: General | Group ID
+ description: Group ID that the process uses, run `id $user` on your instance to see the ID.
+ defaultValue: 1000
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_JWT_SECRET
+ label: Security | JWT Secret
+ description: Secret for JWT.
+ defaultValue: $$cap_gen_random_hex(32)
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_STORE_ENCRYPTION_KEY
+ label: Security | Store Encryption Key
+ description: Key for store encryption.
+ defaultValue: $$cap_gen_random_hex(32)
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_DISABLE_USER_REGISTRATION
+ label: Privacy | Disable User Registration
+ description: Whether to disable user registration.
+ defaultValue: 'false'
+ validRegex: /^(true|false)$/
+ - id: $$cap_NOVU_API_PORT
+ label: API | Port
+ description: Port of Novu's API.
+ defaultValue: 3000
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_API_SENTRY_DSN
+ label: API | Sentry DSN
+ description: Sentry's DSN for error tracking. Leave empty to disable.
+ - id: $$cap_REDIS_PORT
+ label: Redis | Port
+ description: Port of Redis' host.
+ defaultValue: 6379
+ validRegex: /.{1,}/
+ - id: $$cap_REDIS_DB_INDEX
+ label: Redis | Database Index
+ description: Index of the database in Redis.
+ defaultValue: 2
+ validRegex: /.{1,}/
+ - id: $$cap_MONGO_DB
+ label: MongoDB | Database Name
+ description: Name of the database in MongoDB.
+ defaultValue: novu
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_PORT_EMBED
+ label: Networking | Embed Port
+ description: Port of Novu's embed host.
+ defaultValue: 4701
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_PORT_WIDGET
+ label: Networking | Widget Port
+ description: Port of Novu's widget host.
+ defaultValue: 4500
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_PORT_APPLICATION
+ label: Networking | Web Port
+ description: Port of Novu's web host.
+ defaultValue: 4200
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_PORT_WEBSOCKET
+ label: Networking | WebSocket Port
+ description: Port of Novu's WebSocket host.
+ defaultValue: 3002
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_S3_LOCAL_STACK
+ label: S3 | Local Stack URL
+ description: URL to Localstack instance. Leave to `http://localhost:4566` to use local file storage.
+ defaultValue: http://localhost:4566
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_S3_BUCKET_NAME
+ label: S3 | Bucket Name
+ description: Name of the bucket. Leave to `novu-local` to use local file storage.
+ defaultValue: novu-local
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_S3_REGION
+ label: S3 | Region
+ description: Region of the storage. Leave to `us-east-1` if using local file storage.
+ defaultValue: us-east-1
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_AWS_ACCESS_KEY_ID
+ label: S3 | AWS Access Key ID
+ description: Access key ID for AWS. Leave to `test` to use local file storage.
+ defaultValue: test
+ validRegex: /.{1,}/
+ - id: $$cap_NOVU_AWS_SECRET_ACCESS_KEY
+ label: S3 | AWS Secret Access Key
+ description: Secret access key for AWS. Leave to `test` to use local file storage.
+ defaultValue: test
+ validRegex: /.{1,}/
diff --git a/public/v4/logos/novu.png b/public/v4/logos/novu.png
new file mode 100644
index 0000000..f191645
--- /dev/null
+++ b/public/v4/logos/novu.png
Binary files differ