zammad-docker-compose/README.md

68 lines
2.8 KiB
Markdown
Raw Normal View History

# Welcome to Zammad
2016-12-17 11:10:51 +00:00
Zammad is a web based open source helpdesk/ticket system with many features
to manage customer communication via several channels like telephone, facebook,
twitter, chat and e-mails. It is distributed under the GNU AFFERO General Public
2018-02-05 19:20:23 +00:00
License (AGPL). Do you receive many e-mails and want to answer them with a team of agents?
2016-12-17 11:10:51 +00:00
You're going to love Zammad!
## What is zammad-docker-compose repo for?
2016-12-17 11:10:51 +00:00
2017-01-09 21:56:23 +00:00
This repo is meant to be the starting point for somebody who likes to use dockerized multi-container Zammad in production.
2016-12-17 11:10:51 +00:00
## Getting started with zammad-docker-compose
2017-01-09 14:11:53 +00:00
https://docs.zammad.org/en/latest/install-docker-compose.html
2020-02-26 23:36:07 +00:00
## CI Status
2017-11-13 08:57:22 +00:00
2020-02-26 23:38:25 +00:00
[![CI Status](https://github.com/zammad/zammad-docker-compose/workflows/ci/badge.svg)](https://github.com/zammad/zammad-docker-compose/actions)
2017-11-13 08:57:22 +00:00
## Using a reverse proxy
In environments with more then one web applications it is necessary to use a reverse proxy to route connections to port 80 and 443 to the right application.
To run Zammad behind a revers proxy, we provide `docker-compose.proxy-example.yml` as a starting point.
1. Copy `./.examples/proxy/docker-compose.proxy-example.yml` to your own configuration, e.g. `./docker-compose.prod.yml`
`cp ./.examples/proxy/docker-compose.proxy-example.yml ./docker-compose.prod.yml`
1. Modify the environment variable `VIRTUAL_HOST` and the name of the external network in `./docker-compose.prod.yml` to fit your environment.
1. Run docker-composer commands with the default and your configuration, e.g. `docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d`
See `.examples/proxy/docker-compose.yml` for an example proxy project.
Like this, you can add your `docker-compose.prod.yml` to a branch of your Git repository and stay up to date by merging changes to your branch.
## Using Rancher
* RANCHER_URL=http://RANCHER_HOST:8080 rancher-compose --env-file=.env up
2020-02-19 22:14:14 +00:00
## Upgrading
2020-03-05 14:15:02 +00:00
### From =< 3.3.0-12
2020-02-20 12:24:36 +00:00
We've updated the Elasticsearch image from 5.6 to 7.6.
2020-02-19 22:14:14 +00:00
As there is no direct upgrade path we have to delete all Elasticsearch indicies and rebuild them.
2020-02-20 15:18:13 +00:00
Do the following to empty the ES docker volume:
2020-02-19 22:14:14 +00:00
```
2020-02-20 15:18:13 +00:00
docker-compose stop
2020-04-14 14:32:36 +00:00
set -o pipefail DOCKER_VOLUME="$(docker volume inspect zammaddockercompose_elasticsearch-data | grep Mountpoint | sed -e 's#.*": "##g' -e 's#",##')/*"
2020-04-14 14:35:14 +00:00
echo "${DOCKER_VOLUME}" #check this is a valid docker volume path! if not do not proceed or you might lose data!
2020-02-20 15:18:13 +00:00
docker-compose start
2020-02-19 22:14:14 +00:00
```
2020-02-25 18:56:48 +00:00
To workaround the [changes in the PostgreSQL 9.6 container](https://github.com/docker-library/postgres/commit/f1bc8782e7e57cc403d0b32c0e24599535859f76) do the following:
```
docker-compose start
docker exec -it zammaddockercompose_zammad-postgresql_1 bash
psql --username postgres --dbname zammad_production
CREATE USER zammad;
ALTER USER zammad WITH PASSWORD 'zammad';
ALTER USER zammad WITH SUPERUSER CREATEDB;
```