Merge remote-tracking branch 'upstream/master' into colpari-master
This commit is contained in:
commit
a6305f60fa
2
.env
2
.env
@ -3,4 +3,4 @@ POSTGRES_PASS=zammad
|
||||
POSTGRES_USER=zammad
|
||||
RESTART=always
|
||||
# don't forget to add the minus before the version
|
||||
VERSION=-3.6.0-63c
|
||||
VERSION=-4.0.0-25c
|
4
.github/docker-image-build.sh
vendored
4
.github/docker-image-build.sh
vendored
@ -9,6 +9,6 @@ DOCKER_IMAGES="zammad zammad-elasticsearch zammad-postgresql"
|
||||
|
||||
# shellcheck disable=SC2153
|
||||
for DOCKER_IMAGE in ${DOCKER_IMAGES}; do
|
||||
echo "Build Zammad Docker image ${DOCKER_IMAGE} for local test"
|
||||
docker build --pull --no-cache --build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" -t "${DOCKER_IMAGE}" -f "containers/${DOCKER_IMAGE}/Dockerfile" .
|
||||
echo "Build Zammad Docker image ${DOCKER_IMAGE} for local or ci tests"
|
||||
docker build --pull --no-cache --build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" -t "${DOCKER_IMAGE}-local" -f "containers/${DOCKER_IMAGE}/Dockerfile" .
|
||||
done
|
||||
|
2
.github/tests.sh
vendored
2
.github/tests.sh
vendored
@ -8,7 +8,7 @@ set -o pipefail
|
||||
|
||||
docker-compose logs --timestamps --follow &
|
||||
|
||||
until (curl -I --silent --fail localhost | grep -iq "HTTP/1.1 200 OK"); do
|
||||
until (curl -I --silent --fail localhost:8080 | grep -iq "HTTP/1.1 200 OK"); do
|
||||
echo "wait for zammad to be ready..."
|
||||
sleep 15
|
||||
done
|
||||
|
26
.github/workflows/ci-remote-image.yaml
vendored
Normal file
26
.github/workflows/ci-remote-image.yaml
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
name: ci-remote-image
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- '.env'
|
||||
|
||||
jobs:
|
||||
run-remote-image-docker-compose:
|
||||
timeout-minutes: 20
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: pull docker-compose images
|
||||
run: docker-compose pull
|
||||
|
||||
- name: run docker-compose up
|
||||
run: docker-compose up --detach
|
||||
|
||||
- name: add autowizard file
|
||||
run: docker cp .github/auto_wizard.json zammad-docker-compose_zammad-railsserver_1:/opt/zammad
|
||||
|
||||
- name: run tests
|
||||
run: .github/tests.sh
|
32
.github/workflows/ci.yaml
vendored
32
.github/workflows/ci.yaml
vendored
@ -10,6 +10,7 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Codespell
|
||||
uses: codespell-project/actions-codespell@master
|
||||
with:
|
||||
@ -21,7 +22,8 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v1
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: lint zammad docker-compose file
|
||||
run: docker-compose config
|
||||
|
||||
@ -30,6 +32,7 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Lint Code Base
|
||||
uses: github/super-linter@v3
|
||||
env:
|
||||
@ -45,33 +48,16 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v1
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: build docker containers
|
||||
run: .github/docker-image-build.sh
|
||||
- name: use images build by ci
|
||||
run: sed -i -e 's#${IMAGE_REPO}:##g' -e 's#${VERSION}##g' docker-compose.yml
|
||||
- name: run docker-compose up
|
||||
run: docker-compose up --detach
|
||||
- name: add autowizard file
|
||||
run: docker cp .github/auto_wizard.json zammad-docker-compose_zammad-railsserver_1:/opt/zammad
|
||||
- name: run tests
|
||||
run: .github/tests.sh
|
||||
|
||||
run-remote-image-docker-compose:
|
||||
needs:
|
||||
- codespell
|
||||
- lint-docker-compose-file
|
||||
- super-linter
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v1
|
||||
- name: pull docker-compose images
|
||||
run: docker-compose pull
|
||||
- name: run docker-compose up
|
||||
run: docker-compose up --detach
|
||||
run: docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.override-local.yml up --detach
|
||||
|
||||
- name: add autowizard file
|
||||
run: docker cp .github/auto_wizard.json zammad-docker-compose_zammad-railsserver_1:/opt/zammad
|
||||
|
||||
- name: run tests
|
||||
run: .github/tests.sh
|
||||
|
@ -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-type="Git" \
|
||||
org.label-schema.vendor="colpari" \
|
||||
org.label-schema.schema-version="3.6.0" \
|
||||
org.label-schema.schema-version="4.0.0" \
|
||||
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
|
||||
|
@ -70,3 +70,9 @@ CREATE USER zammad;
|
||||
ALTER USER zammad WITH PASSWORD 'zammad';
|
||||
ALTER USER zammad WITH SUPERUSER CREATEDB;
|
||||
```
|
||||
|
||||
### From =< 3.6.0-65
|
||||
|
||||
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.
|
||||
|
@ -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-type="Git" \
|
||||
org.label-schema.vendor="colpari" \
|
||||
org.label-schema.schema-version="3.6.0" \
|
||||
org.label-schema.schema-version="4.0.0" \
|
||||
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
|
||||
|
||||
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]
|
||||
|
@ -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-type="Git" \
|
||||
org.label-schema.vendor="colpari" \
|
||||
org.label-schema.schema-version="3.6.0" \
|
||||
org.label-schema.schema-version="4.0.0" \
|
||||
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
|
||||
|
||||
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]
|
||||
|
@ -24,7 +24,7 @@ function zammad_backup {
|
||||
|
||||
# delete old backups
|
||||
if [ -d "${BACKUP_DIR}" ] && [ -n "$(ls "${BACKUP_DIR}")" ]; then
|
||||
find "${BACKUP_DIR}"/*_zammad_*.gz -type f -mtime +"${HOLD_DAYS}" -exec rm {} \;
|
||||
find "${BACKUP_DIR}"/*_zammad_*.gz -type f -mtime +"${HOLD_DAYS}" -delete
|
||||
fi
|
||||
|
||||
if [ "${NO_FILE_BACKUP}" != "yes" ]; then
|
||||
|
@ -9,6 +9,7 @@ ENV GIT_BRANCH colpari-develop
|
||||
ENV GIT_URL ${PROJECT_URL}.git
|
||||
ENV PROJECT_URL https://github.com/colpari/zammad
|
||||
ENV RAILS_ENV production
|
||||
ENV RAILS_LOG_TO_STDOUT true
|
||||
ENV TAR_GZ_URL ${PROJECT_URL}/archive/${GIT_BRANCH}.tar.gz
|
||||
ENV ZAMMAD_DIR /opt/zammad
|
||||
ENV ZAMMAD_READY_FILE ${ZAMMAD_DIR}/tmp/zammad.ready
|
||||
@ -36,11 +37,12 @@ LABEL org.label-schema.build-date="$BUILD_DATE" \
|
||||
org.label-schema.vcs-url="https://github.com/colpari/zammad" \
|
||||
org.label-schema.vcs-type="Git" \
|
||||
org.label-schema.vendor="colpari" \
|
||||
org.label-schema.schema-version="3.6.0" \
|
||||
org.label-schema.schema-version="4.0.0" \
|
||||
org.label-schema.docker.cmd="sysctl -w vm.max_map_count=262144;docker-compose up"
|
||||
|
||||
ENV GIT_BRANCH colpari-develop
|
||||
ENV RAILS_ENV production
|
||||
ENV RAILS_LOG_TO_STDOUT true
|
||||
ENV ZAMMAD_DIR /opt/zammad
|
||||
ENV ZAMMAD_READY_FILE ${ZAMMAD_DIR}/tmp/zammad.ready
|
||||
ENV ZAMMAD_TMP_DIR /tmp/zammad-${GIT_BRANCH}
|
||||
|
@ -12,6 +12,7 @@ set -e
|
||||
: "${ELASTICSEARCH_SSL_VERIFY:=true}"
|
||||
: "${MEMCACHED_HOST:=zammad-memcached}"
|
||||
: "${MEMCACHED_PORT:=11211}"
|
||||
: "${NGINX_PORT:=8080}"
|
||||
: "${NGINX_SERVER_NAME:=_}"
|
||||
: "${NGINX_SERVER_SCHEME:=\$scheme}"
|
||||
: "${POSTGRESQL_HOST:=zammad-postgresql}"
|
||||
@ -120,7 +121,8 @@ if [ "$1" = 'zammad-nginx' ]; then
|
||||
check_zammad_ready
|
||||
|
||||
# configure nginx
|
||||
sed -e "s#proxy_set_header X-Forwarded-Proto .*;#proxy_set_header X-Forwarded-Proto ${NGINX_SERVER_SCHEME};#g" \
|
||||
sed -e "s#\(listen\)\(.*\)80#\1\2${NGINX_PORT}#g" \
|
||||
-e "s#proxy_set_header X-Forwarded-Proto .*;#proxy_set_header X-Forwarded-Proto ${NGINX_SERVER_SCHEME};#g" \
|
||||
-e "s#server .*:3000#server ${ZAMMAD_RAILSSERVER_HOST}:${ZAMMAD_RAILSSERVER_PORT}#g" \
|
||||
-e "s#server .*:6042#server ${ZAMMAD_WEBSOCKET_HOST}:${ZAMMAD_WEBSOCKET_PORT}#g" \
|
||||
-e "s#server_name .*#server_name ${NGINX_SERVER_NAME};#g" \
|
||||
|
@ -3,7 +3,7 @@ set -e
|
||||
|
||||
# install dependencies
|
||||
if [ "$1" = 'builder' ]; then
|
||||
PACKAGES="build-essential curl git libimlib2-dev libpq-dev"
|
||||
PACKAGES="build-essential curl git libimlib2-dev libpq-dev shared-mime-info"
|
||||
elif [ "$1" = 'runner' ]; then
|
||||
PACKAGES="curl libimlib2 libpq5 nginx rsync"
|
||||
fi
|
||||
@ -28,7 +28,6 @@ if [ "$1" = 'builder' ]; then
|
||||
contrib/packager.io/fetch_locales.rb
|
||||
sed -e 's#.*adapter: postgresql# adapter: nulldb#g' -e 's#.*username:.*# username: postgres#g' -e 's#.*password:.*# password: \n host: zammad-postgresql\n#g' < contrib/packager.io/database.yml.pkgr > config/database.yml
|
||||
sed -i "/require 'rails\/all'/a require\ 'nulldb'" config/application.rb
|
||||
sed -i '/# Use a different logger for distributed setups./a \ \ config.logger = Logger.new(STDOUT)' config/environments/production.rb
|
||||
sed -i 's/.*scheduler_\(err\|out\).log.*//g' script/scheduler.rb
|
||||
touch db/schema.rb
|
||||
bundle exec rake assets:precompile
|
||||
|
27
docker-compose.override-local.yml
Normal file
27
docker-compose.override-local.yml
Normal file
@ -0,0 +1,27 @@
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
|
||||
zammad-backup:
|
||||
image: zammad-postgresql-local
|
||||
|
||||
zammad-elasticsearch:
|
||||
image: zammad-elasticsearch-local
|
||||
|
||||
zammad-init:
|
||||
image: zammad-local
|
||||
|
||||
zammad-nginx:
|
||||
image: zammad-local
|
||||
|
||||
zammad-postgresql:
|
||||
image: zammad-postgresql-local
|
||||
|
||||
zammad-railsserver:
|
||||
image: zammad-local
|
||||
|
||||
zammad-scheduler:
|
||||
image: zammad-local
|
||||
|
||||
zammad-websocket:
|
||||
image: zammad-local
|
@ -3,4 +3,4 @@ services:
|
||||
|
||||
zammad-nginx:
|
||||
ports:
|
||||
- "80:80"
|
||||
- "8080:8080"
|
||||
|
@ -51,7 +51,7 @@ services:
|
||||
zammad-nginx:
|
||||
command: ["zammad-nginx"]
|
||||
expose:
|
||||
- "80"
|
||||
- "8080"
|
||||
depends_on:
|
||||
- zammad-railsserver
|
||||
image: ${IMAGE_REPO}:zammad${VERSION}
|
||||
|
Loading…
Reference in New Issue
Block a user