From b06a9b8af990df295d6bc14613f4ac936e7015ab Mon Sep 17 00:00:00 2001 From: Andrey Zontov Date: Thu, 7 Jul 2022 21:55:46 +0300 Subject: [PATCH] Add EmailEngine app (#676) * Add EmailEngine app * Add EmailEngine logo * Remove `--reguirepass` flag for Redis instance * Update yml build file * Apply Prettier style to emailengine.yml --- public/v4/apps/emailengine.yml | 44 ++++++++++++++++++++++++++++++++ public/v4/logos/emailengine.png | Bin 0 -> 16220 bytes 2 files changed, 44 insertions(+) create mode 100644 public/v4/apps/emailengine.yml create mode 100644 public/v4/logos/emailengine.png diff --git a/public/v4/apps/emailengine.yml b/public/v4/apps/emailengine.yml new file mode 100644 index 0000000..f1a6a82 --- /dev/null +++ b/public/v4/apps/emailengine.yml @@ -0,0 +1,44 @@ +captainVersion: 4 +services: + # EmailEngine + $$cap_appname: + depends_on: + - $$cap_appname-redis + image: andris9/emailengine:$$cap_emailengine_version + restart: always + environment: + WAIT_HOSTS: srv-captain--$$cap_appname-redis:6379 + EENGINE_REDIS: redis://:@srv-captain--$$cap_appname-redis:6379 + caproverExtra: + containerHttpPort: '3000' + # Redis + $$cap_appname-redis: + image: redis:$$cap_redis_version + command: redis-server + volumes: + - $$cap_appname-db-data:/data/db + restart: always + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_emailengine_version + label: EmailEngine Version + defaultValue: 'v2' + description: Check out their docker page for the valid tags https://hub.docker.com/r/andris9/emailengine/tags + validRegex: /^([^\s^\/])+$/ + - id: $$cap_redis_version + label: Redis Version + defaultValue: '7.0.2' + description: Check out their docker page for the valid tags https://hub.docker.com/_/redis?tab=tags + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + IMAP and SMTP are hard, so let EmailEngine handle these for you. Run REST API calls to interact with email servers and receive webhooks for changes on tracked email accounts. With EmailEngine, you can focus on building features that matter instead of spending time rolling custom IMAP and SMTP connectivity logic. + end: >- + You're done! 🤗 + Your EmailEngine is available at http://$$cap_appname.$$cap_root_domain:3000 + displayName: 'EmailEngine' + isOfficial: true + description: Self-hosted application that opens a permanent IMAP connection against every registered email account to translate API requests to IMAP commands and monitor changes on these accounts. + documentation: Taken from https://hub.docker.com/r/andris9/emailengine diff --git a/public/v4/logos/emailengine.png b/public/v4/logos/emailengine.png new file mode 100644 index 0000000000000000000000000000000000000000..5e073b10d8ec83cc1ecc06942a0df7653582d3bb GIT binary patch literal 16220 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 i||-Us0;1pz=VkENoZ39FKS9r8cQs5lY; literal 0 HcmV?d00001