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
|
POSTGRES_USER=zammad
|
||||||
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=-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
|
# shellcheck disable=SC2153
|
||||||
for DOCKER_IMAGE in ${DOCKER_IMAGES}; do
|
for DOCKER_IMAGE in ${DOCKER_IMAGES}; do
|
||||||
echo "Build Zammad Docker image ${DOCKER_IMAGE} for local test"
|
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}" -f "containers/${DOCKER_IMAGE}/Dockerfile" .
|
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
|
done
|
||||||
|
2
.github/tests.sh
vendored
2
.github/tests.sh
vendored
@ -8,7 +8,7 @@ set -o pipefail
|
|||||||
|
|
||||||
docker-compose logs --timestamps --follow &
|
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..."
|
echo "wait for zammad to be ready..."
|
||||||
sleep 15
|
sleep 15
|
||||||
done
|
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:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Codespell
|
- name: Codespell
|
||||||
uses: codespell-project/actions-codespell@master
|
uses: codespell-project/actions-codespell@master
|
||||||
with:
|
with:
|
||||||
@ -21,7 +22,8 @@ jobs:
|
|||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: lint zammad docker-compose file
|
- name: lint zammad docker-compose file
|
||||||
run: docker-compose config
|
run: docker-compose config
|
||||||
|
|
||||||
@ -30,6 +32,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout Code
|
- name: Checkout Code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Lint Code Base
|
- name: Lint Code Base
|
||||||
uses: github/super-linter@v3
|
uses: github/super-linter@v3
|
||||||
env:
|
env:
|
||||||
@ -45,33 +48,16 @@ jobs:
|
|||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: build docker containers
|
- name: build docker containers
|
||||||
run: .github/docker-image-build.sh
|
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
|
- 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
|
- name: add autowizard file
|
||||||
run: docker cp .github/auto_wizard.json zammad-docker-compose_zammad-railsserver_1:/opt/zammad
|
run: docker cp .github/auto_wizard.json zammad-docker-compose_zammad-railsserver_1:/opt/zammad
|
||||||
|
|
||||||
- name: run tests
|
- name: run tests
|
||||||
run: .github/tests.sh
|
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-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="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"
|
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 PASSWORD 'zammad';
|
||||||
ALTER USER zammad WITH SUPERUSER CREATEDB;
|
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-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="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"
|
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"]
|
||||||
|
@ -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="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"
|
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"]
|
||||||
|
@ -24,7 +24,7 @@ function zammad_backup {
|
|||||||
|
|
||||||
# delete old backups
|
# delete old backups
|
||||||
if [ -d "${BACKUP_DIR}" ] && [ -n "$(ls "${BACKUP_DIR}")" ]; then
|
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
|
fi
|
||||||
|
|
||||||
if [ "${NO_FILE_BACKUP}" != "yes" ]; then
|
if [ "${NO_FILE_BACKUP}" != "yes" ]; then
|
||||||
|
@ -9,6 +9,7 @@ ENV GIT_BRANCH colpari-develop
|
|||||||
ENV GIT_URL ${PROJECT_URL}.git
|
ENV GIT_URL ${PROJECT_URL}.git
|
||||||
ENV PROJECT_URL https://github.com/colpari/zammad
|
ENV PROJECT_URL https://github.com/colpari/zammad
|
||||||
ENV RAILS_ENV production
|
ENV RAILS_ENV production
|
||||||
|
ENV RAILS_LOG_TO_STDOUT true
|
||||||
ENV TAR_GZ_URL ${PROJECT_URL}/archive/${GIT_BRANCH}.tar.gz
|
ENV TAR_GZ_URL ${PROJECT_URL}/archive/${GIT_BRANCH}.tar.gz
|
||||||
ENV ZAMMAD_DIR /opt/zammad
|
ENV ZAMMAD_DIR /opt/zammad
|
||||||
ENV ZAMMAD_READY_FILE ${ZAMMAD_DIR}/tmp/zammad.ready
|
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-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="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"
|
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
|
||||||
ENV RAILS_ENV production
|
ENV RAILS_ENV production
|
||||||
|
ENV RAILS_LOG_TO_STDOUT true
|
||||||
ENV ZAMMAD_DIR /opt/zammad
|
ENV ZAMMAD_DIR /opt/zammad
|
||||||
ENV ZAMMAD_READY_FILE ${ZAMMAD_DIR}/tmp/zammad.ready
|
ENV ZAMMAD_READY_FILE ${ZAMMAD_DIR}/tmp/zammad.ready
|
||||||
ENV ZAMMAD_TMP_DIR /tmp/zammad-${GIT_BRANCH}
|
ENV ZAMMAD_TMP_DIR /tmp/zammad-${GIT_BRANCH}
|
||||||
|
@ -12,6 +12,7 @@ set -e
|
|||||||
: "${ELASTICSEARCH_SSL_VERIFY:=true}"
|
: "${ELASTICSEARCH_SSL_VERIFY:=true}"
|
||||||
: "${MEMCACHED_HOST:=zammad-memcached}"
|
: "${MEMCACHED_HOST:=zammad-memcached}"
|
||||||
: "${MEMCACHED_PORT:=11211}"
|
: "${MEMCACHED_PORT:=11211}"
|
||||||
|
: "${NGINX_PORT:=8080}"
|
||||||
: "${NGINX_SERVER_NAME:=_}"
|
: "${NGINX_SERVER_NAME:=_}"
|
||||||
: "${NGINX_SERVER_SCHEME:=\$scheme}"
|
: "${NGINX_SERVER_SCHEME:=\$scheme}"
|
||||||
: "${POSTGRESQL_HOST:=zammad-postgresql}"
|
: "${POSTGRESQL_HOST:=zammad-postgresql}"
|
||||||
@ -120,7 +121,8 @@ if [ "$1" = 'zammad-nginx' ]; then
|
|||||||
check_zammad_ready
|
check_zammad_ready
|
||||||
|
|
||||||
# configure nginx
|
# 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 .*:3000#server ${ZAMMAD_RAILSSERVER_HOST}:${ZAMMAD_RAILSSERVER_PORT}#g" \
|
||||||
-e "s#server .*:6042#server ${ZAMMAD_WEBSOCKET_HOST}:${ZAMMAD_WEBSOCKET_PORT}#g" \
|
-e "s#server .*:6042#server ${ZAMMAD_WEBSOCKET_HOST}:${ZAMMAD_WEBSOCKET_PORT}#g" \
|
||||||
-e "s#server_name .*#server_name ${NGINX_SERVER_NAME};#g" \
|
-e "s#server_name .*#server_name ${NGINX_SERVER_NAME};#g" \
|
||||||
|
@ -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"
|
PACKAGES="build-essential curl git libimlib2-dev libpq-dev 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
|
||||||
@ -28,7 +28,6 @@ if [ "$1" = 'builder' ]; then
|
|||||||
contrib/packager.io/fetch_locales.rb
|
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 -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 "/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
|
sed -i 's/.*scheduler_\(err\|out\).log.*//g' script/scheduler.rb
|
||||||
touch db/schema.rb
|
touch db/schema.rb
|
||||||
bundle exec rake assets:precompile
|
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:
|
zammad-nginx:
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "8080:8080"
|
||||||
|
@ -51,7 +51,7 @@ services:
|
|||||||
zammad-nginx:
|
zammad-nginx:
|
||||||
command: ["zammad-nginx"]
|
command: ["zammad-nginx"]
|
||||||
expose:
|
expose:
|
||||||
- "80"
|
- "8080"
|
||||||
depends_on:
|
depends_on:
|
||||||
- zammad-railsserver
|
- zammad-railsserver
|
||||||
image: ${IMAGE_REPO}:zammad${VERSION}
|
image: ${IMAGE_REPO}:zammad${VERSION}
|
||||||
|
Loading…
Reference in New Issue
Block a user