Favicon of Zammad

Zammad

Manage user support efficiently with a free, open-source ticketing solution. Install it directly on your own servers using CentOS, Debian, Ubuntu, or Docker.

Provide exceptional user support with a robust, open-source ticketing solution designed for complete control and flexibility. This web-based help desk system allows you to manage customer inquiries efficiently without relying on third-party hosting. You can download and install the software directly on your own infrastructure completely free of charge. Key benefits include: 1. Complete Data Ownership: Host the system on your own servers to maintain full control over your sensitive support data. 2. Broad Compatibility: Deploy easily across popular environments including CentOS, Debian, Ubuntu, and Docker. 3. Open-Source Flexibility: Modify and adapt the source code to fit your specific organizational requirements. 4. Cost-Effective: Access enterprise-grade ticketing features without expensive licensing fees. Whether you are running a small support team or a large customer service department, this platform provides the essential tools needed to track, manage, and resolve user issues effectively.

Directory Structure

zammad
data
elasticsearch
postgresql
redis
zammad
.env
docker-compose.yml

docker-compose.yml

services:
  zammad-elasticsearch:
    image: bitnami/elasticsearch:8.12.2
    restart: always
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
    volumes:
      - ./data/elasticsearch:/bitnami/elasticsearch/data
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536

  zammad-postgresql:
    image: postgres:15.6-alpine
    restart: always
    environment:
      - POSTGRES_USER=zammad
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=zammad_production
    volumes:
      - ./data/postgresql:/var/lib/postgresql/data

  zammad-memcached:
    image: memcached:1.6.24-alpine
    restart: always
    command: memcached -m 256M

  zammad-redis:
    image: redis:7.2.4-alpine
    restart: always
    volumes:
      - ./data/redis:/data

  zammad-init:
    image: ghcr.io/zammad/zammad-docker-compose:zammad-6.4.0-14
    restart: on-failure
    command: zammad-init
    depends_on:
      - zammad-postgresql
      - zammad-elasticsearch
      - zammad-redis
      - zammad-memcached
    environment:
      - MEMCACHE_SERVERS=zammad-memcached:11211
      - POSTGRESQL_HOST=zammad-postgresql
      - POSTGRESQL_PORT=5432
      - POSTGRESQL_DB=zammad_production
      - POSTGRESQL_USER=zammad
      - POSTGRESQL_PASS=${POSTGRES_PASSWORD}
      - ELASTICSEARCH_HOST=zammad-elasticsearch
      - ELASTICSEARCH_PORT=9200
      - ELASTICSEARCH_SCHEMA=http
      - REDIS_URL=redis://zammad-redis:6379
      - SECRET_KEY_BASE=${SECRET_KEY_BASE}
    volumes:
      - ./data/zammad:/opt/zammad/storage

  zammad-railsserver:
    image: ghcr.io/zammad/zammad-docker-compose:zammad-6.4.0-14
    restart: always
    command: zammad-railsserver
    depends_on:
      - zammad-init
      - zammad-postgresql
      - zammad-elasticsearch
      - zammad-redis
      - zammad-memcached
    environment:
      - MEMCACHE_SERVERS=zammad-memcached:11211
      - POSTGRESQL_HOST=zammad-postgresql
      - POSTGRESQL_PORT=5432
      - POSTGRESQL_DB=zammad_production
      - POSTGRESQL_USER=zammad
      - POSTGRESQL_PASS=${POSTGRES_PASSWORD}
      - ELASTICSEARCH_HOST=zammad-elasticsearch
      - ELASTICSEARCH_PORT=9200
      - ELASTICSEARCH_SCHEMA=http
      - REDIS_URL=redis://zammad-redis:6379
      - SECRET_KEY_BASE=${SECRET_KEY_BASE}
    volumes:
      - ./data/zammad:/opt/zammad/storage

  zammad-scheduler:
    image: ghcr.io/zammad/zammad-docker-compose:zammad-6.4.0-14
    restart: always
    command: zammad-scheduler
    depends_on:
      - zammad-init
      - zammad-postgresql
      - zammad-elasticsearch
      - zammad-redis
      - zammad-memcached
    environment:
      - MEMCACHE_SERVERS=zammad-memcached:11211
      - POSTGRESQL_HOST=zammad-postgresql
      - POSTGRESQL_PORT=5432
      - POSTGRESQL_DB=zammad_production
      - POSTGRESQL_USER=zammad
      - POSTGRESQL_PASS=${POSTGRES_PASSWORD}
      - ELASTICSEARCH_HOST=zammad-elasticsearch
      - ELASTICSEARCH_PORT=9200
      - ELASTICSEARCH_SCHEMA=http
      - REDIS_URL=redis://zammad-redis:6379
      - SECRET_KEY_BASE=${SECRET_KEY_BASE}
    volumes:
      - ./data/zammad:/opt/zammad/storage

  zammad-websocket:
    image: ghcr.io/zammad/zammad-docker-compose:zammad-6.4.0-14
    restart: always
    command: zammad-websocket
    depends_on:
      - zammad-init
      - zammad-postgresql
      - zammad-redis
      - zammad-memcached
    environment:
      - MEMCACHE_SERVERS=zammad-memcached:11211
      - POSTGRESQL_HOST=zammad-postgresql
      - POSTGRESQL_PORT=5432
      - POSTGRESQL_DB=zammad_production
      - POSTGRESQL_USER=zammad
      - POSTGRESQL_PASS=${POSTGRES_PASSWORD}
      - REDIS_URL=redis://zammad-redis:6379
      - SECRET_KEY_BASE=${SECRET_KEY_BASE}
    volumes:
      - ./data/zammad:/opt/zammad/storage

  zammad-nginx:
    image: ghcr.io/zammad/zammad-docker-compose:zammad-6.4.0-14
    restart: always
    command: zammad-nginx
    ports:
      - "8080:8080"
    depends_on:
      - zammad-railsserver
      - zammad-websocket
    environment:
      - NGINX_SERVER_SCHEME=http
      - NGINX_SERVER_NAME=_

.env

POSTGRES_PASSWORD=your_secure_postgres_password
SECRET_KEY_BASE=your_generated_secret_key_base_string_here
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Zammad

Favicon

 

  
  
Favicon

 

  
  
Favicon