Merge branch 'master' into colpari-master

This commit is contained in:
colpari 2021-10-12 18:03:35 +02:00
commit 265c0adab5
13 changed files with 49 additions and 43 deletions

4
.env
View File

@ -1,6 +1,8 @@
IMAGE_REPO=colpari/zammad-docker-compose IMAGE_REPO=colpari/zammad-docker-compose
MEMCACHE_SERVERS=zammad-memcached:11211
POSTGRES_PASS=zammad POSTGRES_PASS=zammad
POSTGRES_USER=zammad POSTGRES_USER=zammad
REDIS_URL=redis://zammad-redis:6379
RESTART=always RESTART=always
# don't forget to add the minus before the version # don't forget to add the minus before the version
VERSION=-4.1.0-6c VERSION=-5.0.1-1

2
.github/tests.sh vendored
View File

@ -32,7 +32,7 @@ echo
echo echo
echo "Fill DB with some random data" echo "Fill DB with some random data"
docker exec zammad-docker-compose_zammad-railsserver_1 rails r "FillDB.load(agents: 1,customers: 1,groups: 1,organizations: 1,overviews: 1,tickets: 1)" docker exec zammad-docker-compose_zammad-railsserver_1 rails r "FillDb.load(agents: 1,customers: 1,groups: 1,organizations: 1,overviews: 1,tickets: 1)"
echo echo
echo "DB fill successful :)" echo "DB fill successful :)"

View File

@ -38,6 +38,8 @@ jobs:
env: env:
DEFAULT_BRANCH: master DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_JSCPD: false
build-and-run-docker-compose: build-and-run-docker-compose:
needs: needs:

View File

@ -8,5 +8,5 @@ LABEL org.label-schema.build-date="$BUILD_DATE" \
org.label-schema.vcs-url="https://github.com/colpari/zammad" \ org.label-schema.vcs-url="https://github.com/colpari/zammad" \
org.label-schema.vcs-type="Git" \ org.label-schema.vcs-type="Git" \
org.label-schema.vendor="colpari" \ org.label-schema.vendor="colpari" \
org.label-schema.schema-version="4.1.0" \ org.label-schema.schema-version="5.0.1" \
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up" org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"

View File

@ -75,3 +75,8 @@ ALTER USER zammad WITH SUPERUSER CREATEDB;
To be able to run Zammad container with an unprivileged user we had to change the port Nginx uses from 80 to 8080, so Zammad needs to be accessed via <http://localhost:8080> instead of <http://localhost> now! To be able to run Zammad container with an unprivileged user we had to change the port Nginx uses from 80 to 8080, so Zammad needs to be accessed via <http://localhost:8080> instead of <http://localhost> now!
This change will also affect you, if you use a reverse proxy, like Traefik or Haproxy, in front of Zammad as your reverse proxy configuration needs to be adapted to point to port 8080 now. This change will also affect you, if you use a reverse proxy, like Traefik or Haproxy, in front of Zammad as your reverse proxy configuration needs to be adapted to point to port 8080 now.
### From =< 4.0.0 to 5.0.0
Memchached config changed. If you use the old env vars `MEMCACHED_HOST` & `MEMCACHED_PORT` adapt to `MEMCACHE_SERVERS`.
Redis is a dependency for the Websocket server now.

View File

@ -9,7 +9,7 @@ LABEL org.label-schema.build-date="$BUILD_DATE" \
org.label-schema.vcs-url="https://github.com/colpari/zammad" \ org.label-schema.vcs-url="https://github.com/colpari/zammad" \
org.label-schema.vcs-type="Git" \ org.label-schema.vcs-type="Git" \
org.label-schema.vendor="colpari" \ org.label-schema.vendor="colpari" \
org.label-schema.schema-version="4.1.0" \ org.label-schema.schema-version="5.0.1" \
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up" org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"] SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]

View File

@ -10,7 +10,7 @@ LABEL org.label-schema.build-date="$BUILD_DATE" \
org.label-schema.vcs-url="https://github.com/colpari/zammad" \ org.label-schema.vcs-url="https://github.com/colpari/zammad" \
org.label-schema.vcs-type="Git" \ org.label-schema.vcs-type="Git" \
org.label-schema.vendor="colpari" \ org.label-schema.vendor="colpari" \
org.label-schema.schema-version="4.1.0" \ org.label-schema.schema-version="5.0.1" \
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up" org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"] SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]

View File

@ -1,6 +1,6 @@
FROM ruby:2.6.8-slim AS builder
# note: zammad is currently incompatible to alpine because of: # note: zammad is currently incompatible to alpine because of:
# https://github.com/docker-library/ruby/issues/113 # https://github.com/docker-library/ruby/issues/113
FROM ruby:2.7.4-slim AS builder
ARG BUILD_DATE ARG BUILD_DATE
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
@ -24,7 +24,7 @@ RUN chmod +x /tmp/setup.sh; \
/tmp/setup.sh builder /tmp/setup.sh builder
FROM ruby:2.6.8-slim FROM ruby:2.7.4-slim
ARG BUILD_DATE ARG BUILD_DATE
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
@ -37,7 +37,7 @@ LABEL org.label-schema.build-date="$BUILD_DATE" \
org.label-schema.vcs-url="https://github.com/colpari/zammad" \ org.label-schema.vcs-url="https://github.com/colpari/zammad" \
org.label-schema.vcs-type="Git" \ org.label-schema.vcs-type="Git" \
org.label-schema.vendor="colpari" \ org.label-schema.vendor="colpari" \
org.label-schema.schema-version="4.1.0" \ org.label-schema.schema-version="5.0.1" \
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up" org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
ENV GIT_BRANCH colpari-develop ENV GIT_BRANCH colpari-develop

View File

@ -10,8 +10,6 @@ set -e
: "${ELASTICSEARCH_NAMESPACE:=zammad}" : "${ELASTICSEARCH_NAMESPACE:=zammad}"
: "${ELASTICSEARCH_REINDEX:=true}" : "${ELASTICSEARCH_REINDEX:=true}"
: "${ELASTICSEARCH_SSL_VERIFY:=true}" : "${ELASTICSEARCH_SSL_VERIFY:=true}"
: "${MEMCACHED_HOST:=zammad-memcached}"
: "${MEMCACHED_PORT:=11211}"
: "${NGINX_PORT:=8080}" : "${NGINX_PORT:=8080}"
: "${NGINX_SERVER_NAME:=_}" : "${NGINX_SERVER_NAME:=_}"
: "${NGINX_SERVER_SCHEME:=\$scheme}" : "${NGINX_SERVER_SCHEME:=\$scheme}"
@ -58,9 +56,6 @@ if [ "$1" = 'zammad-init' ]; then
ESCAPED_POSTGRESQL_PASS=$(echo "$POSTGRESQL_PASS" | sed -e 's/[\/&]/\\&/g') ESCAPED_POSTGRESQL_PASS=$(echo "$POSTGRESQL_PASS" | sed -e 's/[\/&]/\\&/g')
sed -e "s#.*adapter:.*# adapter: postgresql#g" -e "s#.*database:.*# database: ${POSTGRESQL_DB}#g" -e "s#.*username:.*# username: ${POSTGRESQL_USER}#g" -e "s#.*password:.*# password: ${ESCAPED_POSTGRESQL_PASS}\\n host: ${POSTGRESQL_HOST}\\n port: ${POSTGRESQL_PORT}#g" < contrib/packager.io/database.yml.pkgr > config/database.yml sed -e "s#.*adapter:.*# adapter: postgresql#g" -e "s#.*database:.*# database: ${POSTGRESQL_DB}#g" -e "s#.*username:.*# username: ${POSTGRESQL_USER}#g" -e "s#.*password:.*# password: ${ESCAPED_POSTGRESQL_PASS}\\n host: ${POSTGRESQL_HOST}\\n port: ${POSTGRESQL_PORT}#g" < contrib/packager.io/database.yml.pkgr > config/database.yml
# configure memcache
sed -i -e "s/.*config.cache_store.*file_store.*cache_file_store.*/ config.cache_store = :dalli_store, '${MEMCACHED_HOST}:${MEMCACHED_PORT}'\\n config.session_store = :dalli_store, '${MEMCACHED_HOST}:${MEMCACHED_PORT}'/" config/application.rb
# configure trusted proxies # configure trusted proxies
sed -i -e "s#config.action_dispatch.trusted_proxies =.*#config.action_dispatch.trusted_proxies = ${RAILS_TRUSTED_PROXIES}#" config/environments/production.rb sed -i -e "s#config.action_dispatch.trusted_proxies =.*#config.action_dispatch.trusted_proxies = ${RAILS_TRUSTED_PROXIES}#" config/environments/production.rb
@ -74,10 +69,12 @@ if [ "$1" = 'zammad-init' ]; then
bundle exec rake db:seed bundle exec rake db:seed
# create autowizard.json on first install # create autowizard.json on first install
if [ -n "${AUTOWIZARD_JSON}" ]; then if base64 -d <<< ${AUTOWIZARD_JSON} &>> /dev/null; then
echo "${AUTOWIZARD_JSON}" | base64 -d > auto_wizard.json echo "Saving autowizard json payload..."
base64 -d <<< "${AUTOWIZARD_JSON}" > auto_wizard.json
fi fi
else else
bundle exec rails r "Cache.clear"
bundle exec rake db:migrate bundle exec rake db:migrate
fi fi

View File

@ -3,7 +3,7 @@ set -e
# install dependencies # install dependencies
if [ "$1" = 'builder' ]; then if [ "$1" = 'builder' ]; then
PACKAGES="build-essential curl git libimlib2-dev libpq-dev shared-mime-info" PACKAGES="build-essential curl git libimlib2-dev libpq-dev nodejs shared-mime-info"
elif [ "$1" = 'runner' ]; then elif [ "$1" = 'runner' ]; then
PACKAGES="curl libimlib2 libpq5 nginx rsync" PACKAGES="curl libimlib2 libpq5 nginx rsync"
fi fi

View File

@ -1,4 +1,4 @@
version: '2' version: '3'
services: services:

View File

@ -1,4 +1,4 @@
version: '2' version: '3'
services: services:
zammad-nginx: zammad-nginx:

View File

@ -1,4 +1,4 @@
version: '2' version: '3'
services: services:
@ -6,6 +6,7 @@ services:
command: ["zammad-backup"] command: ["zammad-backup"]
depends_on: depends_on:
- zammad-railsserver - zammad-railsserver
- zammad-postgresql
entrypoint: /usr/local/bin/backup.sh entrypoint: /usr/local/bin/backup.sh
environment: environment:
- BACKUP_SLEEP=86400 - BACKUP_SLEEP=86400
@ -13,8 +14,6 @@ services:
- POSTGRESQL_USER=${POSTGRES_USER} - POSTGRESQL_USER=${POSTGRES_USER}
- POSTGRESQL_PASSWORD=${POSTGRES_PASS} - POSTGRESQL_PASSWORD=${POSTGRES_PASS}
image: ${IMAGE_REPO}:zammad-postgresql${VERSION} image: ${IMAGE_REPO}:zammad-postgresql${VERSION}
links:
- zammad-postgresql
restart: ${RESTART} restart: ${RESTART}
volumes: volumes:
- zammad-backup:/var/tmp/zammad - zammad-backup:/var/tmp/zammad
@ -33,19 +32,18 @@ services:
depends_on: depends_on:
- zammad-postgresql - zammad-postgresql
environment: environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- POSTGRESQL_USER=${POSTGRES_USER} - POSTGRESQL_USER=${POSTGRES_USER}
- POSTGRESQL_PASS=${POSTGRES_PASS} - POSTGRESQL_PASS=${POSTGRES_PASS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION} image: ${IMAGE_REPO}:zammad${VERSION}
links:
- zammad-elasticsearch
- zammad-postgresql
restart: on-failure restart: on-failure
volumes: volumes:
- zammad-data:/opt/zammad - zammad-data:/opt/zammad
zammad-memcached: zammad-memcached:
command: memcached -m 256M command: memcached -m 256M
image: memcached:1.6.9-alpine image: memcached:1.6.10-alpine
restart: ${RESTART} restart: ${RESTART}
zammad-nginx: zammad-nginx:
@ -55,9 +53,6 @@ services:
depends_on: depends_on:
- zammad-railsserver - zammad-railsserver
image: ${IMAGE_REPO}:zammad${VERSION} image: ${IMAGE_REPO}:zammad${VERSION}
links:
- zammad-railsserver
- zammad-websocket
restart: ${RESTART} restart: ${RESTART}
volumes: volumes:
- zammad-data:/opt/zammad - zammad-data:/opt/zammad
@ -76,25 +71,29 @@ services:
depends_on: depends_on:
- zammad-memcached - zammad-memcached
- zammad-postgresql - zammad-postgresql
- zammad-redis
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION} image: ${IMAGE_REPO}:zammad${VERSION}
links:
- zammad-elasticsearch
- zammad-memcached
- zammad-postgresql
restart: ${RESTART} restart: ${RESTART}
volumes: volumes:
- zammad-data:/opt/zammad - zammad-data:/opt/zammad
zammad-redis:
image: redis:6.2.5-alpine
restart: ${RESTART}
zammad-scheduler: zammad-scheduler:
command: ["zammad-scheduler"] command: ["zammad-scheduler"]
depends_on: depends_on:
- zammad-memcached - zammad-memcached
- zammad-railsserver - zammad-railsserver
- zammad-redis
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION} image: ${IMAGE_REPO}:zammad${VERSION}
links:
- zammad-elasticsearch
- zammad-memcached
- zammad-postgresql
restart: ${RESTART} restart: ${RESTART}
volumes: volumes:
- zammad-data:/opt/zammad - zammad-data:/opt/zammad
@ -104,10 +103,11 @@ services:
depends_on: depends_on:
- zammad-memcached - zammad-memcached
- zammad-railsserver - zammad-railsserver
- zammad-redis
environment:
- MEMCACHE_SERVERS=${MEMCACHE_SERVERS}
- REDIS_URL=${REDIS_URL}
image: ${IMAGE_REPO}:zammad${VERSION} image: ${IMAGE_REPO}:zammad${VERSION}
links:
- zammad-postgresql
- zammad-memcached
restart: ${RESTART} restart: ${RESTART}
volumes: volumes:
- zammad-data:/opt/zammad - zammad-data:/opt/zammad