Hello,
you wrote on your package documentation that elasticsearch is NOT a hard dependency but the debian packages say … it is.
Can you change this please because i want to install zammad to system A and elastic on another systems. So i dont want and need elastic on the same system as zammad.
I think it is just a change in the package dependency.
thank you for your time
It’s marked as dependency, yes, but you can disable the systemd service. I understand that this is a burden, but I believe there was no option to have hard and optional dependencies with packager.io .
I believe that’s the main problem.
That’s correct so far, but our policy states: “NO services that are not in use may be installed.”
So if I have to install this one even though I don’t want to/can’t/don’t have to use it, that violates the rules.
It also doesn’t really make sense to me to build a hard dependency into a package that, according to our own requirements, doesn’t exist or am I mistaken?
In my opnion it has not to be installed by zammad package and if some one want to use it, it can be install seperatly.
In the end, Zammad is not really good to use without Elasticsearch in place (Software — Zammad System Documentation documentation ).
This dependency is optional but strongly recommended !
Zammad will work without it, but search performance will be degraded and the search will be very limited. We recommend using Elasticsearch, as it will boost the usage of Zammad greatly!
Here was also the same question in the last days:
opened 10:19AM - 16 Mar 26 UTC
closed 02:50PM - 16 Mar 26 UTC
install
### Used Zammad Version
7.0.0
### Environment
- Installation method: [e.g. so… urce, package]
- Operating system (if you're unsure: `cat /etc/os-release` ): [e.g. debian 10.4, ubuntu 20.04]
- Database + version: [e.g. postgresql 9.3]
- Elasticsearch version: [e.g. 7.17]
- Browser + version: [e.g. chrome 83, safari 14, firefox 105]
### Actual behaviour
If you installed Zammad from a package and a new release is available, the updater will first perform maintenance on local Elasticsearch and only then check whether Zammad is connected to a local or remote Elasticsearch instance:
```
Setting up zammad (7.0.0-1773065885.71cc9d5f.noble) ...
# Enforcing Redis...
# Creating Redis bootstart
Synchronizing state of redis-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable redis-server
# Starting Redis server
# Redis server is running.
# (Re)creating init scripts
Nothing to do.
Nothing to do.
Nothing to do.
# Enabling Zammad on boot
# Stopping Zammad
# Clear cache...
# database.yml found. Updating db...
# Updating translations...
# No custom packages detected...
# Configuring Elasticsearch...
-> removing [ingest-attachment]...
-> Installing ingest-attachment
-> Downloading ingest-attachment from elastic
[=================================================] 100%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.java2d.cmm.kcms
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* [java.security](http://java.security/).SecurityPermission createAccessControlContext
See https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed ingest-attachment
-> Please restart Elasticsearch to activate any plugins installed
It seems you're running an external Elasticsearch server on https://elasticsearch.example.com:9200/
We'll not touch your Elasticsearch on the local and remote system.
Please get sure to install the 'ingest-attachment' plugin on your Elasticsearch server by:
/usr/share/elasticsearch/bin/elasticsearch-plugin -s install ingest-attachment
After this you might need to rebuild the searchindex by:
zammad run rake zammad:searchindex:rebuild
# Enforcing 0600 on database.yml ...
# Starting Zammad
# Creating webserver bootstart
Synchronizing state of nginx.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable nginx
# Restarting webserver nginx - please check if all required modules are enabled in case webserver fails to start.
####################################################################################
Add your fully qualified domain name or public IP to servername directive of
nginx, if this installation is done on a remote server. You have to change:
/etc/nginx/sites-available/zammad.conf and restart nginx process.
Otherwise just open http://localhost/ in your browser to start using Zammad.
####################################################################################
```
The current process slows down the update process because, in case of a local installation, it first need to check the Elasticsearch connection and then continue with maintenance. There are a few Linux commands that can tell you whether Elasticsearch is installed locally.
Furthermore, there’s absolutely makes no sense to require Elasticsearch during package installation, since the connection has to be configured manually. And if someone wants to use a remote Elasticsearch instance, they must still install a local instance in order to install Zammad from the package.
### Expected behaviour
The updater should check first, whether Elasticsearch is installed locally or remotely, and do the maintenance only in case of local Elasticsearch installation.
If Elasticsearch is installed on a remote server, the updater should omit local Elasticsearch requirement.
### Steps to reproduce the behaviour
See updating log above.
### Support Ticket
_No response_
### I'm sure this is a bug and no feature request or a general question.
yes
For sure, we know it’s not the best situation, but it’s also not easy to improve it currently; there are also other installation options like docker-compose, which are maybe more flexible.
Docker Compose is not a option and the build from scratch (we use acutaly) there is no tutorial anymore.
so i know that zammad not good work without elastic but i think it is a user thing. Like installed and not used…
so it must be not installed.