From 27f2dfffe08ca3cd642b7a8fe17e6777b3915760 Mon Sep 17 00:00:00 2001 From: xpayserver-dev Date: Sat, 15 Aug 2020 14:06:03 +0200 Subject: [PATCH] add Zammad --- README.md | 2 + btcpay-setup.sh | 2 + .../docker-fragments/opt-add-tor.yml | 8 ++ .../docker-fragments/opt-add-zammad.yml | 116 ++++++++++++++++++ helpers.sh | 1 + 5 files changed, 129 insertions(+) create mode 100644 docker-compose-generator/docker-fragments/opt-add-zammad.yml diff --git a/README.md b/README.md index 7afc7fa..9de77ae 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ Check out this video if you're interested in learning more about setting up [BTC Additionally, there are specific environment variables for some addons: * `LIBREPATRON_HOST`: If libre patron is activated with [opt-add-librepatron](docker-compose-generator/docker-fragments/opt-add-librepatron.yml), the hostname of your libre patron website (eg. `librepatron.example.com`) +* `ZAMMAD_HOST`: If zammad is activated with [opt-add-zammad](docker-compose-generator/docker-fragments/opt-add-zammad.yml), the hostname of your zammad website (eg. `zammad.example.com`) * `WOOCOMMERCE_HOST`: If woocommerce is activated with [opt-add-woocommerce](docker-compose-generator/docker-fragments/opt-add-woocommerce.yml), the hostname of your woocommerce website (eg. `store.example.com`) * `EPS_XPUB`: If Electrum Personal Server (EPS) is activated with [opt-add-electrum-ps](docker-compose-generator/docker-fragments/opt-add-electrum-ps.yml), you must set the Extended Public Key (XPUB, YPUB or ZPUB) of the wallet you want to use, before first run of the EPS server. If you accidently start EPS without this, it will not work properly as the model of EPS is to monitor only specified wallets. @@ -169,6 +170,7 @@ Available `BTCPAYGEN_ADDITIONAL_FRAGMENTS` currently are: * [opt-add-pihole](docker-compose-generator/docker-fragments/opt-add-pihole.yml) ([See the documentation](docs/pihole.md)) * [opt-add-thunderhub](docker-compose-generator/docker-fragments/opt-add-thunderhub.yml) for a LND Lightning Node Manager in your Browser. Maintained by [apotdevin](https://github.com/apotdevin). * [opt-add-teos](docker-compose-generator/docker-fragments/opt-add-teos.yml) for [The Eye Of Satoshi](https://github.com/talaia-labs/python-teos), a BOLT13 Lightning Watchtower. Use port 9814 on your server or Tor to connect. +* [opt-add-zammad](docker-compose-generator/docker-fragments/opt-add-zammad.yml) for [Zammad](https://zammad.com/features), a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and e-mails You can also create your own [custom fragments](#how-can-i-customize-the-generated-docker-compose-file). diff --git a/btcpay-setup.sh b/btcpay-setup.sh index fd6c9ba..4b29798 100755 --- a/btcpay-setup.sh +++ b/btcpay-setup.sh @@ -101,6 +101,7 @@ Environment variables: BTCPAY_ADDITIONAL_HOSTS: Allows you to specify additional domains to your BTCPayServer with https support if enabled. (eg. example2.com,example3.com) Add-on specific variables: LIBREPATRON_HOST: If libre patron is activated with opt-add-librepatron, the hostname of your libre patron website (eg. librepatron.example.com) + ZAMMAD_HOST: If zammad is activated with opt-add-zammad, the hostname of your zammad website (eg. zammad.example.com) WOOCOMMERCE_HOST: If woocommerce is activated with opt-add-woocommerce, the hostname of your woocommerce website (eg. store.example.com) BTCPAYGEN_EXCLUDE_FRAGMENTS: Semicolon-separated list of fragments you want to forcefully exclude (eg. litecoin-clightning) BTCTRANSMUTER_HOST: If btc transmuter is activated with opt-add-btctransmuter, the hostname of your btc transmuter website (eg. store.example.com) @@ -282,6 +283,7 @@ REVERSEPROXY_HTTP_PORT:$REVERSEPROXY_HTTP_PORT REVERSEPROXY_HTTPS_PORT:$REVERSEPROXY_HTTPS_PORT REVERSEPROXY_DEFAULT_HOST:$REVERSEPROXY_DEFAULT_HOST LIBREPATRON_HOST:$LIBREPATRON_HOST +ZAMMAD_HOST:$ZAMMAD_HOST WOOCOMMERCE_HOST:$WOOCOMMERCE_HOST BTCTRANSMUTER_HOST:$BTCTRANSMUTER_HOST BTCPAY_ENABLE_SSH:$BTCPAY_ENABLE_SSH diff --git a/docker-compose-generator/docker-fragments/opt-add-tor.yml b/docker-compose-generator/docker-fragments/opt-add-tor.yml index 7736856..a75fd22 100644 --- a/docker-compose-generator/docker-fragments/opt-add-tor.yml +++ b/docker-compose-generator/docker-fragments/opt-add-tor.yml @@ -166,6 +166,14 @@ services: volumes: - "tor_servicesdir:/var/lib/tor/hidden_services" - "tor_torrcdir:/usr/local/etc/tor/" + + zammad-nginx: + environment: + HIDDENSERVICE_NAME: zammad + HIDDENSERVICE_PORT: 80 + volumes: + - "tor_servicesdir:/var/lib/tor/hidden_services" + - "tor_torrcdir:/usr/local/etc/tor/" volumes: tor_datadir: tor_torrcdir: diff --git a/docker-compose-generator/docker-fragments/opt-add-zammad.yml b/docker-compose-generator/docker-fragments/opt-add-zammad.yml new file mode 100644 index 0000000..13e4620 --- /dev/null +++ b/docker-compose-generator/docker-fragments/opt-add-zammad.yml @@ -0,0 +1,116 @@ +version: "3" + +services: + zammad-backup: + command: ["zammad-backup"] + depends_on: + - zammad-railsserver + entrypoint: /usr/local/bin/backup.sh + environment: + - BACKUP_SLEEP=86400 + - HOLD_DAYS=10 + - POSTGRESQL_HOST=postgres + - POSTGRESQL_USER=postgres + - POSTGRESQL_PASSWORD= + image: zammad/zammad-docker-compose:zammad-postgresql-3.4.0-4 + links: + - postgres + restart: unless-stopped + volumes: + - zammad-backup:/var/tmp/zammad + - zammad-data:/opt/zammad + zammad-elasticsearch: + environment: + - discovery.type=single-node + image: zammad/zammad-docker-compose:zammad-elasticsearch-3.4.0-4 + restart: unless-stopped + volumes: + - elasticsearch-data:/usr/share/elasticsearch/data + + zammad-init: + command: ["zammad-init"] + depends_on: + - postgres + environment: + - POSTGRESQL_HOST=postgres + - POSTGRESQL_USER=postgres + - POSTGRESQL_PASS= + image: zammad/zammad-docker-compose:zammad-3.4.0-4 + links: + - zammad-elasticsearch + - postgres + restart: on-failure + volumes: + - zammad-data:/opt/zammad + + zammad-memcached: + command: memcached -m 256M + image: memcached:1.5.22-alpine + restart: unless-stopped + + zammad-nginx: + command: ["zammad-nginx"] + expose: + - "80" + depends_on: + - zammad-railsserver + image: zammad/zammad-docker-compose:zammad-3.4.0-4 + links: + - zammad-railsserver + - zammad-websocket + restart: unless-stopped + environment: + VIRTUAL_HOST: ${ZAMMAD_HOST} + VIRTUAL_HOST_NAME: "zammad" + LETSENCRYPT_HOST: ${ZAMMAD_HOST} + LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-} + volumes: + - zammad-data:/opt/zammad + + zammad-railsserver: + command: ["zammad-railsserver"] + depends_on: + - zammad-memcached + - postgres + image: zammad/zammad-docker-compose:zammad-3.4.0-4 + links: + - zammad-elasticsearch + - zammad-memcached + - postgres + restart: unless-stopped + volumes: + - zammad-data:/opt/zammad + + zammad-scheduler: + command: ["zammad-scheduler"] + depends_on: + - zammad-memcached + - zammad-railsserver + image: zammad/zammad-docker-compose:zammad-3.4.0-4 + links: + - zammad-elasticsearch + - zammad-memcached + - postgres + restart: unless-stopped + volumes: + - zammad-data:/opt/zammad + + zammad-websocket: + command: ["zammad-websocket"] + depends_on: + - zammad-memcached + - zammad-railsserver + image: zammad/zammad-docker-compose:zammad-3.4.0-4 + links: + - postgres + - zammad-memcached + restart: unless-stopped + volumes: + - zammad-data:/opt/zammad + btcpayserver: + environment: + BTCPAY_EXTERNALSERVICES: "Zammad: ${BTCPAY_PROTOCOL:-https}://${ZAMMAD_HOST};" +volumes: + elasticsearch-data: + zammad-backup: + zammad-data: diff --git a/helpers.sh b/helpers.sh index cb352f8..605be6e 100755 --- a/helpers.sh +++ b/helpers.sh @@ -97,6 +97,7 @@ BTCPAY_SSHKEYFILE=$BTCPAY_SSHKEYFILE BTCPAY_SSHAUTHORIZEDKEYS=$BTCPAY_SSHAUTHORIZEDKEYS BTCPAY_HOST_SSHAUTHORIZEDKEYS=$BTCPAY_HOST_SSHAUTHORIZEDKEYS LIBREPATRON_HOST=$LIBREPATRON_HOST +ZAMMAD_HOST=$ZAMMAD_HOST BTCTRANSMUTER_HOST=$BTCTRANSMUTER_HOST BTCPAY_CRYPTOS=$BTCPAY_CRYPTOS WOOCOMMERCE_HOST=$WOOCOMMERCE_HOST