From 085f998844af76d4a8c9969662b6945d44550600 Mon Sep 17 00:00:00 2001 From: kgnfth <73314940+kgnfth@users.noreply.github.com> Date: Tue, 22 Dec 2020 23:54:47 +0100 Subject: [PATCH] Added Metabase (#333) * :sparkles: Added Metabase * :sparkles: Added Metabase --- public/v4/apps/metabase.yml | 69 +++++++++++++++++++++++++++++++++++ public/v4/logos/metabase.png | Bin 0 -> 21486 bytes 2 files changed, 69 insertions(+) create mode 100644 public/v4/apps/metabase.yml create mode 100644 public/v4/logos/metabase.png diff --git a/public/v4/apps/metabase.yml b/public/v4/apps/metabase.yml new file mode 100644 index 0000000..31c3349 --- /dev/null +++ b/public/v4/apps/metabase.yml @@ -0,0 +1,69 @@ +captainVersion: 4 +services: + # Metabase + $$cap_appname: + image: metabase/metabase:$$cap_mb_version + restart: always + environment: + MB_DB_TYPE: postgres + MB_DB_DBNAME: metabase + MB_DB_PORT: 5432 + MB_DB_USER: metabase + MB_DB_PASS: $$cap_db_pass + MB_DB_HOST: srv-captain--$$cap_appname-db + MB_EMAIL_SMTP_HOST: $$cap_smtp_host + MB_EMAIL_SMTP_PORT: $$cap_smtp_port + MB_EMAIL_SMTP_USERNAME: $$cap_smtp_user + MB_EMAIL_SMTP_PASSWORD: $$cap_smtp_pass + volumes: + - $$cap_appname-data:/metabase-data + caproverExtra: + containerHttpPort: '3000' + # Database + $$cap_appname-db: + image: postgres:12-alpine + volumes: + - $$cap_appname-db:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_USER: metabase + POSTGRES_PASSWORD: $$cap_db_pass + POSTGRES_DB: metabase + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_mb_version + label: Metabase Version + defaultValue: 'v0.38.0-rc1' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/metabase/metabase/tags + + - id: $$cap_db_pass + label: Database Password + defaultValue: $$cap_gen_random_hex(16) + + - id: $$cap_smtp_host + label: SMTP Host + description: OPTIONAL + + - id: $$cap_smtp_port + label: SMTP Port + description: OPTIONAL + + - id: $$cap_smtp_user + label: SMTP User + description: OPTIONAL + + - id: $$cap_smtp_pass + label: SMTP Password + description: OPTIONAL + instructions: + start: >- + Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. + end: >- + Aaaand you're done! 😄 + Your service is available at http://$$cap_appname.$$cap_root_domain + displayName: 'Metabase' + isOfficial: true + description: Metabase is the easy, open source way for everyone in your company to ask questions and learn from data. + documentation: https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html diff --git a/public/v4/logos/metabase.png b/public/v4/logos/metabase.png new file mode 100644 index 0000000000000000000000000000000000000000..b44467ba00bd47446971ff8398dbf2f10972f792 GIT binary patch literal 21486 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

MvYt;r$k5E{^==}6o< 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