From 786b53a341b5e0df1aa7df00e845d0358ba52644 Mon Sep 17 00:00:00 2001 From: AriaieBOY Date: Wed, 29 Jun 2022 03:50:03 +0430 Subject: [PATCH] update umami-postgresql and added umami-mysql (#674) * update umami-postgresql and added umami-mysql * add umami-postgresql.png * change default version of umami * fix a typo * set minimum umami version to 1.33.2 * fix * fix umami version and added no DB app * umami-nodb * change nodb to only --- public/v4/apps/umami-mysql.yml | 69 ++++++++++++++++++ public/v4/apps/umami-only.yml | 57 +++++++++++++++ .../apps/{umami.yml => umami-postgresql.yml} | 26 +++---- .../v4/logos/{umami.png => umami-mysql.png} | Bin public/v4/logos/umami-only.png | Bin 0 -> 10526 bytes public/v4/logos/umami-postgresql.png | Bin 0 -> 10526 bytes 6 files changed, 135 insertions(+), 17 deletions(-) create mode 100644 public/v4/apps/umami-mysql.yml create mode 100644 public/v4/apps/umami-only.yml rename public/v4/apps/{umami.yml => umami-postgresql.yml} (73%) rename public/v4/logos/{umami.png => umami-mysql.png} (100%) create mode 100644 public/v4/logos/umami-only.png create mode 100644 public/v4/logos/umami-postgresql.png diff --git a/public/v4/apps/umami-mysql.yml b/public/v4/apps/umami-mysql.yml new file mode 100644 index 0000000..fccbe06 --- /dev/null +++ b/public/v4/apps/umami-mysql.yml @@ -0,0 +1,69 @@ +captainVersion: 4 +services: + # Umami mysql + $$cap_appname: + image: ghcr.io/mikecao/umami:mysql-$$cap_umami_version + restart: always + environment: + DATABASE_URL: mysql://umami:$$cap_mysql_pass@srv-captain--$$cap_appname-mysql/umami + depends_on: + - $$cap_appname-mysql + caproverExtra: + containerHttpPort: '3000' + # Mysql + $$cap_appname-mysql: + image: mysql:$$cap_mysql_version + volumes: + - $$cap_appname-mysql-data:/var/lib/mysql + restart: always + environment: + MYSQL_DATABASE: umami + MYSQL_USER: umami + MYSQL_PASSWORD: $$cap_mysql_pass + MYSQL_ROOT_PASSWORD: $$cap_mysql_root_pass + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_mysql_version + label: Mysql Version + defaultValue: '8' + description: Checkout their page for the valid tags https://hub.docker.com/_/mysql + validRegex: /^([^\s^\/])+$/ + - id: $$cap_umami_version + label: Caprover Umami Version + defaultValue: 'v1.33.2' + description: Checkout their github page for the valid tags (minimum compatible version 1.33.2) https://github.com/mikecao/umami/releases + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mysql_pass + label: mysql Database password + description: 'Password for mysql' + defaultValue: $$cap_gen_random_hex(16) + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mysql_root_pass + label: mysql ROOT Database password + description: 'Password for mysql root' + defaultValue: $$cap_gen_random_hex(16) + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. + + + This app will install a default mysql instance with persistant data. You can choose the version yourself. The deployment was tested with mysql 8.0.x. + + For Updating just Deploy latest image from https://github.com/mikecao/umami/pkgs/container/umami using the Deploy via ImageName section in your caprover umami container + + For more details about umami, see: https://umami.is + + + Enter your configuration parameters and click on next. It will take about a minute for the process to finish. + end: >- + Aaaand you're done! 🔥 + Your umami instance is available at http://$$cap_appname.$$cap_root_domain + + IMPORTANT: Use user 'admin' and password 'umami' to login and change your password immediately! + displayName: umami + isOfficial: true + description: umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. + documentation: Official docs are [here](https://github.com/mikecao/umami) diff --git a/public/v4/apps/umami-only.yml b/public/v4/apps/umami-only.yml new file mode 100644 index 0000000..2b7fde5 --- /dev/null +++ b/public/v4/apps/umami-only.yml @@ -0,0 +1,57 @@ +captainVersion: 4 +services: + # Umami + $$cap_appname: + image: ghcr.io/mikecao/umami:$$cap_db_type-$$cap_umami_version + restart: always + environment: + DATABASE_URL: $$cap_db_type://$$cap_db_user:$$cap_db_pass@$$cap_db_url/$$cap_db_name + caproverExtra: + containerHttpPort: '3000' +caproverOneClickApp: + variables: + - id: '$$cap_umami_version' + label: Caprover Umami Version + defaultValue: 'v1.33.2' + description: Checkout their github page for the valid tags (minimum compatible version 1.33.2) https://github.com/mikecao/umami/releases + validRegex: /^([^\s^\/])+$/ + - id: '$$cap_db_type' + label: Database Type (postgresql or mysql) + validRegex: /^(postgresql|mysql)$/ + - id: '$$cap_db_url' + label: Database Remote URL + description: 'if your db is in your caprover network use srv-captain--appName' + validRegex: /^([^\s^\/])+$/ + - id: '$$cap_db_user' + label: Database User + - id: '$$cap_db_name' + label: Database Table Name + description: 'the table that you want use for your umami app' + validRegex: /^([^\s^\/])+$/ + - id: '$$cap_db_pass' + label: Database password + description: 'Password for your Database' + validRegex: /^([^\s^\/])+$/ + instructions: + start: >- + umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. + + + This app will install a default mysql instance with persistant data. You can choose the version yourself. The deployment was tested with mysql 8.0.x and postgres 14.x. + + For Updating just Deploy latest image from https://github.com/mikecao/umami/pkgs/container/umami using the Deploy via ImageName section in your caprover umami container + + For more details about umami, see: https://umami.is + + Note: This app is intended for advanced users who'd like to have a umami without Database service installed. You need run your Database Service and then set the Database configuration accordingly. + + Enter your configuration parameters and click on next. It will take about a minute for the process to finish. + end: >- + Aaaand you're done! 🔥 + Your umami instance is available at http://$$cap_appname.$$cap_root_domain + + IMPORTANT: Use user 'admin' and password 'umami' to login and change your password immediately! + displayName: umami + isOfficial: true + description: umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. + documentation: Official docs are [here](https://github.com/mikecao/umami) diff --git a/public/v4/apps/umami.yml b/public/v4/apps/umami-postgresql.yml similarity index 73% rename from public/v4/apps/umami.yml rename to public/v4/apps/umami-postgresql.yml index 51e3780..9476638 100644 --- a/public/v4/apps/umami.yml +++ b/public/v4/apps/umami-postgresql.yml @@ -1,17 +1,11 @@ captainVersion: 4 services: - # Umami + # Umami postgres $$cap_appname: - image: tschannik/caprover-umami:$$cap_umami_version + image: ghcr.io/mikecao/umami:postgresql-$$cap_umami_version restart: always environment: DATABASE_URL: postgresql://umami:$$cap_postgres_pass@srv-captain--$$cap_appname-postgres/umami - POSTGRES_HOSTNAME: srv-captain--$$cap_appname-postgres - POSTGRES_DB: umami - POSTGRES_USER: umami - POSTGRES_PASSWORD: $$cap_postgres_pass - POSTGRES_INITDB_ARGS: $$cap_pg_initdb_args - HASH_SALT: $$cap_gen_random_hex(16) depends_on: - $$cap_appname-postgres caproverExtra: @@ -33,17 +27,17 @@ caproverOneClickApp: variables: - id: $$cap_postgres_version label: Postgres Version - defaultValue: '12.6-alpine' + defaultValue: '14.4-alpine' description: Checkout their page for the valid tags https://hub.docker.com/_/postgres validRegex: /^([^\s^\/])+$/ - id: $$cap_umami_version label: Caprover Umami Version - defaultValue: 'postgresql-5ecaf55' - description: Checkout their github page for the valid tags https://github.com/tschannik/caprover-umami + defaultValue: 'v1.33.2' + description: Checkout their github page for the valid tags (minimum compatible version v1.33.2) https://github.com/mikecao/umami/releases validRegex: /^([^\s^\/])+$/ - id: $$cap_postgres_pass label: Potgress Database password - description: 'Pasword for postgres' + description: 'Password for postgres' defaultValue: $$cap_gen_random_hex(16) validRegex: /^([^\s^\/])+$/ - id: $$cap_pg_initdb_args @@ -55,11 +49,9 @@ caproverOneClickApp: umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. - This app will install a default postgres instance with persistant data. You can choose the version yourself. The deployment was tested with postgres 12.x. - - After the installation we'll fork a slightly customized version of the original umami package which makes sure that your data is not corrupted on new container deployments or restarts. - Open a PR on https://github.com/tschannik/caprover-umami of your desired umami-version is not supported. + This app will install a default postgres instance with persistant data. You can choose the version yourself. The deployment was tested with postgres 14.x. + For Updating just Deploy latest image from https://github.com/mikecao/umami/pkgs/container/umami using the Deploy via ImageName section in your caprover umami container For more details about umami, see: https://umami.is @@ -71,6 +63,6 @@ caproverOneClickApp: IMPORTANT: Use user 'admin' and password 'umami' to login and change your password immediately! displayName: umami - isOfficial: false + isOfficial: true description: umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendly privacy-focused alternative to Google Analytics. documentation: Official docs are [here](https://github.com/mikecao/umami) diff --git a/public/v4/logos/umami.png b/public/v4/logos/umami-mysql.png similarity index 100% rename from public/v4/logos/umami.png rename to public/v4/logos/umami-mysql.png diff --git a/public/v4/logos/umami-only.png b/public/v4/logos/umami-only.png new file mode 100644 index 0000000000000000000000000000000000000000..7d947dc2b8657792f071a6d84b5a5f8e1e1e9687 GIT binary patch literal 10526 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 literal 0 HcmV?d00001 diff --git a/public/v4/logos/umami-postgresql.png b/public/v4/logos/umami-postgresql.png new file mode 100644 index 0000000000000000000000000000000000000000..7d947dc2b8657792f071a6d84b5a5f8e1e1e9687 GIT binary patch literal 10526 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 literal 0 HcmV?d00001