diff --git a/README.md b/README.md index 3fb1eba3..1f989ced 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ This is the official repository for the Tipi App Store. It contains all the apps ## Apps available - [2FAuth](https://github.com/Bubka/2FAuth) - A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes +- [Activepieces](https://github.com/activepieces/activepieces) - A true zapier alternative. - [Actual Budget](https://github.com/actualbudget/actual-server) - Local-first OpenSource Budget tool - [Adguard Home](https://github.com/AdguardTeam/AdGuardHome) - Adguard Home DNS adblocker - [Audiobookshelf](https://github.com/advplyr/audiobookshelf) - Audiobookshelf is a self-hosted audiobook and podcast server. diff --git a/apps/activepieces/config.json b/apps/activepieces/config.json new file mode 100644 index 00000000..ea5a06fa --- /dev/null +++ b/apps/activepieces/config.json @@ -0,0 +1,44 @@ +{ + "name": "Activepieces", + "available": true, + "port": 8605, + "exposable": true, + "id": "activepieces", + "description": "Your friendliest open source all-in-one automation tool.", + "tipi_version": 1, + "version": "0.12.2", + "categories": [ + "automation" + ], + "short_desc": "True zapier alternative.", + "author": "Activepieces", + "source": "https://github.com/activepieces/activepieces", + "website": "https://www.activepieces.com/", + "form_fields": [ + { + "type": "random", + "label": "Activepieces postgres password.", + "min": 32, + "env_variable": "AP_POSTGRES_PASSWORD" + }, + { + "type": "random", + "label": "Activepieces api key.", + "min": 32, + "env_variable": "AP_API_KEY" + }, + { + "type": "random", + "label": "Activepieces encryption key.", + "min": 32, + "env_variable": "AP_ENCRYPTION_KEY" + }, + { + "type": "random", + "label": "Activepieces jwt secret.", + "min": 32, + "env_variable": "AP_JWT_SECRET" + } + ], + "supported_architectures": ["arm64", "amd64"] +} diff --git a/apps/activepieces/docker-compose.yml b/apps/activepieces/docker-compose.yml new file mode 100644 index 00000000..898a29dc --- /dev/null +++ b/apps/activepieces/docker-compose.yml @@ -0,0 +1,93 @@ +version: '3.7' +services: + activepieces: + image: activepieces/activepieces:0.12.2 + container_name: activepieces + restart: unless-stopped + ports: + - '${APP_PORT}:80' + depends_on: + activepieces-postgres: + condition: service_healthy + activepieces-redis: + condition: service_healthy + environment: + - AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js + - AP_API_KEY=${AP_API_KEY} + - AP_ENCRYPTION_KEY=${AP_ENCRYPTION_KEY} + - AP_JWT_SECRET=${AP_JWT_SECRET} + - AP_ENVIRONMENT=prod + - AP_FRONTEND_URL=http://localhost:8080 + - AP_WEBHOOK_TIMEOUT_SECONDS=30 + - AP_TRIGGER_DEFAULT_POLL_INTERVAL=5 + - AP_POSTGRES_DATABASE=activepieces + - AP_POSTGRES_HOST=activepieces-postgres + - AP_POSTGRES_PORT=5432 + - AP_POSTGRES_USERNAME=tipi + - AP_POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD} + - AP_EXECUTION_MODE=UNSANDBOXED + - AP_REDIS_HOST=activepieces-redis + - AP_REDIS_PORT=6379 + - AP_SANDBOX_RUN_TIME_SECONDS=600 + - AP_TELEMETRY_ENABLED=true + - AP_TEMPLATES_SOURCE_URL="https://cloud.activepieces.com/api/v1/flow-templates" + networks: + - tipi_main_network + + labels: + # Main + traefik.enable: true + traefik.http.middlewares.activepieces-web-redirect.redirectscheme.scheme: https + traefik.http.services.activepieces.loadbalancer.server.port: 8744 + # Web + traefik.http.routers.activepieces-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.activepieces-insecure.entrypoints: web + traefik.http.routers.activepieces-insecure.service: activepieces + traefik.http.routers.activepieces-insecure.middlewares: activepieces-web-redirect + # Websecure + traefik.http.routers.activepieces.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.activepieces.entrypoints: websecure + traefik.http.routers.activepieces.service: activepieces + traefik.http.routers.activepieces.tls.certresolver: myresolver + # Local domain + traefik.http.routers.activepieces-local-insecure.rule: Host(`activepieces.${LOCAL_DOMAIN}`) + traefik.http.routers.activepieces-local-insecure.entrypoints: web + traefik.http.routers.activepieces-local-insecure.service: activepieces + traefik.http.routers.activepieces-local-insecure.middlewares: activepieces-web-redirect + # Local domain secure + traefik.http.routers.activepieces-local.rule: Host(`activepieces.${LOCAL_DOMAIN}`) + traefik.http.routers.activepieces-local.entrypoints: websecure + traefik.http.routers.activepieces-local.service: activepieces + traefik.http.routers.activepieces-local.tls: true + + activepieces-postgres: + image: postgres:14 + restart: unless-stopped + container_name: activepieces-postgres + healthcheck: + test: pg_isready -U tipi + interval: 30s + timeout: 30s + retries: 3 + environment: + - POSTGRES_DB=activepieces + - POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD} + - POSTGRES_USER=tipi + volumes: + - '${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data' + networks: + - tipi_main_network + + activepieces-redis: + image: redis:7 + container_name: activepieces-redis + healthcheck: + test: redis-cli ping + interval: 30s + timeout: 30s + retries: 3 + restart: unless-stopped + volumes: + - '${APP_DATA_DIR}/data/redis/:/data' + networks: + - tipi_main_network diff --git a/apps/activepieces/metadata/description.md b/apps/activepieces/metadata/description.md new file mode 100644 index 00000000..26e98ce3 --- /dev/null +++ b/apps/activepieces/metadata/description.md @@ -0,0 +1,16 @@ +## Activepieces + +Your friendliest open source all-in-one automation tool, designed to be extensible through a type-safe pieces framework written in Typescript. + +## 🎨 Flow Builder + +User-friendly Workflow Builder! Enjoy building fun and interactive flows with support for Branches, Loops, and Drag and Drop. +build + +## 🔌 Pieces + +Activepieces integrates Google Sheets, OpenAI, Discord, and RSS, along with 80+ other integrations. +The list of supported integrations continues to grow rapidly, thanks to valuable contributions from the community. +Activepieces is an open ecosystem, all piece source code is available in the repository, +and they are versioned and published directly to npmjs.com upon contributions. + diff --git a/apps/activepieces/metadata/logo.jpg b/apps/activepieces/metadata/logo.jpg new file mode 100644 index 00000000..11e5bcbf Binary files /dev/null and b/apps/activepieces/metadata/logo.jpg differ