Sign inSign up

elestio4test/zammad

By elestio4test

•Updated about 3 years ago

Zammad, verified and packaged by Elestio

Image
0

772

elestio4test/zammad repository overview

elest.io ⁠

Discord Elestio examples Blog

⁠Zammad, verified and packaged by Elestio

Zammad⁠ is the helpdesk software of the future and helps you find structure in the chaos.

zammad

Deploy a fully managed Zammad⁠ on elest.io⁠ if you want to connect all your communication channels, easily grant user rights, and receive helpful reporting.

deploy

⁠Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

⁠Usage

⁠Git clone

You can deploy it easily with the following command:

git clone https://github.com/elestio-examples/zammad.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Create data folders with correct permissions

set env vars
set -o allexport; source .env; set +o allexport;

mkdir -p ./zammad_backup;
mkdir -p ./zammad_data;
mkdir -p ./scripts/backup.sh;
mkdir -p ./elasticsearch_data;
mkdir -p ./postgresql_data;

chmod 777 ./zammad_backup
chmod 777 ./zammad_data
chmod 777 ./scripts/backup.sh
chmod 777 ./elasticsearch_data
chmod 777 ./postgresql_data

chown -R 1001:1001 elasticsearch_data
chown -R 1000:1000 zammad_data
chown -R 1000:1000 zammad_backup

Run the project with the following command

docker-compose up -d

You can access the Web UI at: http://your-domain:8784

⁠Docker-compose

Here are some example snippets to help you get started creating a container.

version: "3.3"

services:
zammad-backup:
    command: ["zammad-backup"]
    depends_on:
    - zammad-railsserver
    - zammad-postgresql
    entrypoint: /usr/local/bin/backup.sh
    environment:
    - BACKUP_SLEEP=${BACKUP_SLEEP}
    - HOLD_DAYS=${HOLD_DAYS}
    - POSTGRESQL_USER=${POSTGRES_USER}
    - POSTGRESQL_PASSWORD=${POSTGRES_PASS}
    image: postgres:${POSTGRES_VERSION}
    restart: ${RESTART}
    volumes:
    - ./zammad_backup:/var/tmp/zammad
    - ./zammad_data:/opt/zammad:ro
    - ./scripts/backup.sh:/usr/local/bin/backup.sh

zammad-elasticsearch:
    image: bitnami/elasticsearch:8.5.1
    restart: ${RESTART}
    volumes:
    - ./elasticsearch_data:/bitnami/elasticsearch/data

zammad-init:
    command: ["zammad-init"]
    depends_on:
    - zammad-postgresql
    environment:
    - MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
    - POSTGRESQL_USER=${POSTGRES_USER}
    - POSTGRESQL_PASS=${POSTGRES_PASS}
    - REDIS_URL=${REDIS_URL}
    image: ${IMAGE_REPO}:${SOFTWARE_VERSION_TAG}
    restart: on-failure
    volumes:
    - ./zammad_data:/opt/zammad

zammad-memcached:
    command: memcached -m 256M
    image: memcached:1.6.17-alpine
    restart: ${RESTART}

zammad-nginx:
    command: ["zammad-nginx"]
    ports:
    - "172.17.0.1:8784:8080"
    depends_on:
    - zammad-railsserver
    image: ${IMAGE_REPO}:${SOFTWARE_VERSION_TAG}
    environment:
    - NGINX_SERVER_SCHEME=https
    restart: ${RESTART}
    volumes:
    - ./zammad_data:/opt/zammad

zammad-postgresql:
    environment:
    - POSTGRES_USER=${POSTGRES_USER}
    - POSTGRES_PASSWORD=${POSTGRES_PASS}
    image: postgres:${POSTGRES_VERSION}
    restart: ${RESTART}
    volumes:
    - ./postgresql_data:/var/lib/postgresql/data

zammad-railsserver:
    command: ["zammad-railsserver"]
    depends_on:
    - zammad-memcached
    - zammad-postgresql
    - zammad-redis
    environment:
    - MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
    - REDIS_URL=${REDIS_URL}
    image: ${IMAGE_REPO}:${SOFTWARE_VERSION_TAG}
    restart: ${RESTART}
    volumes:
    - ./zammad_data:/opt/zammad

zammad-redis:
    image: redis:7.0.5-alpine
    restart: ${RESTART}

zammad-scheduler:
    command: ["zammad-scheduler"]
    depends_on:
    - zammad-memcached
    - zammad-railsserver
    - zammad-redis
    image: ${IMAGE_REPO}:${SOFTWARE_VERSION_TAG}
    restart: ${RESTART}
    volumes:
    - ./zammad_data:/opt/zammad

zammad-websocket:
    command: ["zammad-websocket"]
    depends_on:
    - zammad-memcached
    - zammad-railsserver
    - zammad-redis
    environment:
    - MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
    - REDIS_URL=${REDIS_URL}
    image: ${IMAGE_REPO}:${SOFTWARE_VERSION_TAG}
    restart: ${RESTART}
    volumes:
    - ./zammad_data:/opt/zammad
⁠Environment variables
VariableValue (example)
ADMIN_EMAIL[email protected]⁠
ADMIN_PASSWORDyour-password
SOFTWARE_VERSION_TAGlatest
BACKUP_SLEEP1d
HOLD_DAYS7
IMAGE_REPOelestio/zammad
RESTARTalways
POSTGRES_USERyour-user
POSTGRES_PASSWORDyour-db-password
POSTGRES_DByour-db-name
POSTGRES_VERSIONlatest
MEMCACHE_SERVERSmemcache:11211
REDIS_URLredis://redis-url:6379

⁠Maintenance

⁠Logging

The Elestio Zammad Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

⁠Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Tag summary

Content type

Image

Digest

sha256:240b1b1f4…

Size

407.8 MB

Last updated

about 3 years ago

docker pull elestio4test/zammad