Skip to content

Commit 077f0e7

Browse files
committedJun 10, 2019
Merge branch 'release-3.0.0' into stable
2 parents 85d46f7 + ee9a861 commit 077f0e7

File tree

15 files changed

+83
-84
lines changed

15 files changed

+83
-84
lines changed
 

‎CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project follows Zammad versioning.
66

7+
## [3.0.0] - 2019-06-10
8+
### Changed
9+
- Upgrade Zammad version to 3.0.0
10+
11+
### Fixed
12+
- Shellcheck all scripts
13+
714
## [2.9.0] - 2019-02-20
815
### Changed
916
- Upgrade Zammad version to 2.9.0

‎Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
NAME = osixia/zammad
2-
VERSION = 2.9.0
2+
VERSION = 3.0.0
33

44
.PHONY: build build-nocache test tag-latest push push-latest release git-tag-version
55

‎README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
![Docker Stars](https://img.shields.io/docker/stars/osixia/zammad.svg)
55
![](https://images.microbadger.com/badges/image/osixia/zammad.svg)
66

7-
Latest release: 2.9.0 - Zammad 2.9.0 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/zammad/) 
7+
Latest release: 3.0.0 - Zammad 3.0.0 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/zammad/) 
88

99
**A docker image to run Zammad.**
1010

‎example/docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ services:
3232
- mariadb:/var/lib/mysql
3333

3434
zammad:
35-
image: osixia/zammad:2.9.0
35+
image: osixia/zammad:3.0.0
3636
command: -l info
3737
labels:
3838
- "io.rancher.container.pull_image: always"

‎example/kubernetes/zammad-deployment.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
automountServiceAccountToken: false
1616
containers:
1717
- name: zammad
18-
image: osixia/zammad:2.9.0
18+
image: osixia/zammad:3.0.0
1919
imagePullPolicy: Always
2020
resources:
2121
requests:

‎image/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ ENV ZAMMAD_DIR /home/zammad
44
ENV ZAMMAD_USER zammad
55
ENV RAILS_ENV production
66

7-
ARG ZAMMAD_VERSION=2.9.0
8-
ARG ZAMMAD_MD5=08bd2f55770f23ee780a7dbd5c8c4cc8
7+
ARG ZAMMAD_VERSION=3.0.0
8+
ARG ZAMMAD_MD5=5170cfc115ee90e853c1180578fc30da
99

1010
ARG GOSU_VERSION=1.10
1111

‎image/service/backup/assets/tool/zammad-backup

+11-13
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,27 @@ backupFileSuffix="-zammad.tar.gz"
66
backupDbSuffix="-zammad-db.tar.gz"
77
databaseFile="database.sql"
88

9-
source /container/run/environment.sh
9+
. /container/run/environment.sh
1010

1111
# delete backups that are over $ZAMMAD_BACKUP_TTL days
12-
find $backupPath -type f -mtime +$ZAMMAD_BACKUP_TTL -exec rm {} \;
12+
find "${backupPath}" -type f -mtime +"${ZAMMAD_BACKUP_TTL}" -exec rm {} \;
1313

1414
# date format for the dump file name
1515
dateFileFormat="+%Y%m%dT%H%M%S"
16-
backupFilePath="$backupPath/$(date "$dateFileFormat")$backupFileSuffix"
16+
backupFilePath="${backupPath}/$(date "${dateFileFormat}")${backupFileSuffix}"
1717

1818
# save config and plugins except default ones
19-
tar -czf $backupFilePath -C / ${ZAMMAD_DIR:1}
20-
chmod 600 $backupFilePath
19+
tar -czf "${backupFilePath}" -C / "${ZAMMAD_DIR:1}"
20+
chmod 600 "${backupFilePath}"
2121

2222
# backup database
2323
. /container/service/backup/assets/tool/zammad-get-db-params
24-
rm -rf $databaseFile || true
24+
rm -rf "${databaseFile}" || true
2525

26-
mysqldump -u $databaseUser -p$databasePassword --host $host $database > $databaseFile
26+
mysqldump -u "${databaseUser}" -p"${databasePassword}" --host "${host}" "${database}" > "${databaseFile}"
2727

28-
backupFilePath="$backupPath/$(date "$dateFileFormat")$backupDbSuffix"
29-
tar -czf $backupFilePath $databaseFile
30-
chmod 600 $backupFilePath
28+
backupFilePath="${backupPath}/$(date "${dateFileFormat}")${backupDbSuffix}"
29+
tar -czf "${backupFilePath}" "${databaseFile}"
30+
chmod 600 "${backupFilePath}"
3131

32-
rm -rf $databaseFile
33-
34-
exit 0
32+
rm -rf "${databaseFile}"

‎image/service/backup/assets/tool/zammad-get-db-params

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# get database name, user and password from configuration
44
# /!\ configuration must use simple quote :)
55
# and it's a bad idea to have ' in your username, password and database name
6-
host="$(grep 'host:' < ${ZAMMAD_DIR}/config/database.yml | sed -e 's/.*host:\(\| \)//g')"
7-
databaseUser="$(grep 'username:' < ${ZAMMAD_DIR}/config/database.yml | sed -e 's/.*username:\(\| \)//g')"
8-
databasePassword="$(grep 'password:' < ${ZAMMAD_DIR}/config/database.yml | sed -e 's/.*password:\(\| \)//g')"
9-
database="$(grep 'database:' < ${ZAMMAD_DIR}/config/database.yml | sed -e 's/.*database:\(\| \) //g')"
6+
host="$(grep 'host:' < "${ZAMMAD_DIR}/config/database.yml" | sed -e 's/.*host:\(\| \)//g')"
7+
databaseUser="$(grep 'username:' < "${ZAMMAD_DIR}/config/database.yml" | sed -e 's/.*username:\(\| \)//g')"
8+
databasePassword="$(grep 'password:' < "${ZAMMAD_DIR}/config/database.yml" | sed -e 's/.*password:\(\| \)//g')"
9+
database="$(grep 'database:' < "${ZAMMAD_DIR}/config/database.yml" | sed -e 's/.*database:\(\| \) //g')"

‎image/service/backup/assets/tool/zammad-restore

+15-15
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@ databaseFile="database.sql"
88

99
for file in "$@"
1010
do
11-
echo "Processing file $file"
12-
13-
if $(echo "$file" | grep -q -e "$backupFileSuffix"); then
11+
echo "Processing file ${file}"
12+
13+
if echo "${file}" | grep -q -e "$backupFileSuffix"; then
1414
echo "Restore zammad files"
15-
tar -xvzf $backupPath/$file -C /
16-
echo "done :)"
17-
elif $(echo "$file" | grep -q -e "$backupDbSuffix"); then
15+
tar -xvzf "${backupPath}/${file}" -C /
16+
echo "done :)"
17+
elif echo "${file}" | grep -q -e "${backupDbSuffix}"; then
1818
echo "Restore zammad database"
1919
. /container/service/backup/assets/tool/zammad-get-db-params
20-
21-
rm -rf $databaseFile || true
22-
tar -xvzf $backupPath/$file
23-
24-
mysql -u $databaseUser -p$databasePassword --host $host $database < $databaseFile
25-
26-
rm -rf $databaseFile
27-
20+
21+
rm -rf "${databaseFile}" || true
22+
tar -xvzf "${backupPath}/${file}"
23+
24+
mysql -u "${databaseUser}" -p"${databasePassword}" --host "${host}" "${database}" < "${databaseFile}"
25+
26+
rm -rf "${databaseFile}"
27+
2828
echo "done :)"
2929
else
30-
echo "Error: Unknown file type"
30+
echo "Error: Unknown file type"
3131
fi
3232
done
3333

‎image/service/backup/startup.sh

+9-11
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,18 @@
55
log-helper level eq trace && set -x
66

77
# install image tools
8-
ln -sf ${CONTAINER_SERVICE_DIR}/backup/assets/tool/* /sbin/
8+
ln -sf "${CONTAINER_SERVICE_DIR}"/backup/assets/tool/* /sbin/
99

1010
# add cron jobs
11-
ln -sf ${CONTAINER_SERVICE_DIR}/backup/assets/cronjobs /etc/cron.d/backup
12-
chmod 600 ${CONTAINER_SERVICE_DIR}/backup/assets/cronjobs
11+
ln -sf "${CONTAINER_SERVICE_DIR}/backup/assets/cronjobs" /etc/cron.d/backup
12+
chmod 600 "${CONTAINER_SERVICE_DIR}/backup/assets/cronjobs"
1313

1414
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-backup-backup-first-start-done"
1515
# container first start
16-
if [ ! -e "$FIRST_START_DONE" ]; then
17-
18-
# adapt cronjobs file
19-
sed -i "s|{{ ZAMMAD_BACKUP_CRON_EXP }}|${ZAMMAD_BACKUP_CRON_EXP}|g" ${CONTAINER_SERVICE_DIR}/backup/assets/cronjobs
20-
21-
touch $FIRST_START_DONE
16+
if [ ! -e "${FIRST_START_DONE}" ]; then
17+
18+
# adapt cronjobs file
19+
sed -i "s|{{ ZAMMAD_BACKUP_CRON_EXP }}|${ZAMMAD_BACKUP_CRON_EXP}|g" "${CONTAINER_SERVICE_DIR}/backup/assets/cronjobs"
20+
21+
touch "${FIRST_START_DONE}"
2222
fi
23-
24-
exit 0

‎image/service/nginx/startup.sh

+7-9
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,17 @@ log-helper level eq trace && set -x
66

77
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-help-center-nginx-first-start-done"
88
# container first start
9-
if [ ! -e "$FIRST_START_DONE" ]; then
9+
if [ ! -e "${FIRST_START_DONE}" ]; then
1010

1111
# generate a certificate and key if files don't exists
1212
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/service-available/:ssl-tools/assets/tool/ssl-helper
13-
ssl-helper ${SSL_HELPER_PREFIX} "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/$ZAMMAD_SSL_CRT_FILENAME" "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/$ZAMMAD_SSL_KEY_FILENAME" "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/$ZAMMAD_SSL_CA_CRT_FILENAME"
14-
cat ${CONTAINER_SERVICE_DIR}/nginx/assets/certs/$ZAMMAD_SSL_CRT_FILENAME ${CONTAINER_SERVICE_DIR}/nginx/assets/certs/$ZAMMAD_SSL_CA_CRT_FILENAME > /nginx-combined-cert.crt
13+
ssl-helper "${SSL_HELPER_PREFIX}" "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/${ZAMMAD_SSL_CRT_FILENAME}" "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/${ZAMMAD_SSL_KEY_FILENAME}" "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/${ZAMMAD_SSL_CA_CRT_FILENAME}"
14+
cat "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/${ZAMMAD_SSL_CRT_FILENAME}" "${CONTAINER_SERVICE_DIR}/nginx/assets/certs/${ZAMMAD_SSL_CA_CRT_FILENAME}" > /nginx-combined-cert.crt
1515

16-
sed -i "s|{{ CONTAINER_SERVICE_DIR }}|${CONTAINER_SERVICE_DIR}|g" ${CONTAINER_SERVICE_DIR}/nginx/assets/config/server.conf
17-
sed -i "s|{{ ZAMMAD_SSL_KEY_FILENAME }}|${ZAMMAD_SSL_KEY_FILENAME}|g" ${CONTAINER_SERVICE_DIR}/nginx/assets/config/server.conf
16+
sed -i "s|{{ CONTAINER_SERVICE_DIR }}|${CONTAINER_SERVICE_DIR}|g" "${CONTAINER_SERVICE_DIR}/nginx/assets/config/server.conf"
17+
sed -i "s|{{ ZAMMAD_SSL_KEY_FILENAME }}|${ZAMMAD_SSL_KEY_FILENAME}|g" "${CONTAINER_SERVICE_DIR}/nginx/assets/config/server.conf"
1818

19-
ln -sf ${CONTAINER_SERVICE_DIR}/nginx/assets/config/server.conf /etc/nginx/sites-enabled/server.conf
19+
ln -sf "${CONTAINER_SERVICE_DIR}/nginx/assets/config/server.conf" /etc/nginx/sites-enabled/server.conf
2020

21-
touch $FIRST_START_DONE
21+
touch "${FIRST_START_DONE}"
2222
fi
23-
24-
exit 0

‎image/service/railsserver/process.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
55
log-helper level eq trace && set -x
66

7-
cd ${ZAMMAD_DIR}
8-
exec gosu ${ZAMMAD_USER}:${ZAMMAD_USER} bundle exec rails server puma -b 127.0.0.1 -p 3000 -e ${RAILS_ENV}
7+
cd "${ZAMMAD_DIR}"
8+
exec gosu "${ZAMMAD_USER}":"${ZAMMAD_USER}" bundle exec rails server puma -b 127.0.0.1 -p 3000 -e "${RAILS_ENV}"

‎image/service/railsserver/startup.sh

+18-20
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ log-helper level eq trace && set -x
66

77
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-railsserver-first-start-done"
88
# container first start
9-
if [ ! -e "$FIRST_START_DONE" ]; then
9+
if [ ! -e "${FIRST_START_DONE}" ]; then
1010

11-
cd ${ZAMMAD_DIR}
11+
cd "${ZAMMAD_DIR}"
1212

1313
if [ -n "${ZAMMAD_MEMCACHED_HOST}" ]; then
1414
log-helper info "Memcached config..."
15-
sed -i -e "s/.*config.cache_store.*file_store.*cache_file_store.*/ config.cache_store = :dalli_store, '${ZAMMAD_MEMCACHED_HOST}:11211'\n config.session_store = :dalli_store, '${ZAMMAD_MEMCACHED_HOST}:11211'/" ${ZAMMAD_DIR}/config/application.rb
15+
sed -i -e "s/.*config.cache_store.*file_store.*cache_file_store.*/ config.cache_store = :dalli_store, '${ZAMMAD_MEMCACHED_HOST}:11211'\n config.session_store = :dalli_store, '${ZAMMAD_MEMCACHED_HOST}:11211'/" "${ZAMMAD_DIR}/config/application.rb"
1616
fi
1717

1818
log-helper info "Database config..."
@@ -24,13 +24,13 @@ if [ ! -e "$FIRST_START_DONE" ]; then
2424
ZAMMAD_DB_PASSWORD
2525
)
2626

27-
for tag in ${TO_REPLACE[@]}
27+
for tag in "${TO_REPLACE[@]}"
2828
do
29-
sed -i "s|{{ ${tag} }}|${!tag}|g" ${ZAMMAD_DIR}/config/database.yml
29+
sed -i "s|{{ ${tag} }}|${!tag}|g" "${ZAMMAD_DIR}/config/database.yml"
3030
done
3131

3232
for i in {30..0}; do
33-
if echo "select 1;" | mysql -h ${ZAMMAD_DB_HOST} -u ${ZAMMAD_DB_USER} -p${ZAMMAD_DB_PASSWORD} ${ZAMMAD_DB_NAME} &> /dev/null; then
33+
if echo "select 1;" | mysql -h "${ZAMMAD_DB_HOST}" -u "${ZAMMAD_DB_USER}" -p"${ZAMMAD_DB_PASSWORD}" "${ZAMMAD_DB_NAME}" &> /dev/null; then
3434
break
3535
fi
3636
echo $?
@@ -44,34 +44,32 @@ if [ ! -e "$FIRST_START_DONE" ]; then
4444
fi
4545

4646
# test is zammad is installed
47-
ZAMMAD_INSTALLED=$(mysql -h ${ZAMMAD_DB_HOST} -u ${ZAMMAD_DB_USER} -p${ZAMMAD_DB_PASSWORD} ${ZAMMAD_DB_NAME} -e "select id from settings where name='es_url'" || true)
47+
ZAMMAD_INSTALLED=$(mysql -h "${ZAMMAD_DB_HOST}" -u "${ZAMMAD_DB_USER}" -p"${ZAMMAD_DB_PASSWORD}" "${ZAMMAD_DB_NAME}" -e "select id from settings where name='es_url'" || true)
4848
if [ -n "${ZAMMAD_INSTALLED}" ]; then
4949
log-helper info "Update database..."
50-
bundle exec rake db:migrate &> /dev/null
50+
bundle exec rake db:migrate | log-helper debug
5151
else
5252
log-helper info "Init database..."
53-
bundle exec rake db:create
54-
bundle exec rake db:migrate
55-
bundle exec rake db:seed
53+
bundle exec rake db:create | log-helper debug
54+
bundle exec rake db:migrate | log-helper debug
55+
bundle exec rake db:seed | log-helper debug
5656
fi
5757

5858
log-helper info "Elasticsearch config..."
59-
bundle exec rails r "Setting.set('es_url', '${ZAMMAD_ELASTICSEARCH_URL}')"
59+
bundle exec rails r "Setting.set('es_url', '${ZAMMAD_ELASTICSEARCH_URL}')" | log-helper debug
6060

6161
if [ -n "${ZAMMAD_ELASTICSEARCH_USER}" ] && [ -n "${ZAMMAD_ELASTICSEARCH_PASS}" ]; then
62-
bundle exec rails r "Setting.set('es_user', \"${ZAMMAD_ELASTICSEARCH_USER}\")"
63-
bundle exec rails r "Setting.set('es_password', \"${ZAMMAD_ELASTICSEARCH_PASS}\")"
62+
bundle exec rails r "Setting.set('es_user', \"${ZAMMAD_ELASTICSEARCH_USER}\")" | log-helper debug
63+
bundle exec rails r "Setting.set('es_password', \"${ZAMMAD_ELASTICSEARCH_PASS}\")" | log-helper debug
6464
fi
6565

66-
bundle exec rake searchindex:rebuild || true
66+
bundle exec rake searchindex:rebuild | log-helper debug || true
6767

6868
log-helper info "Fix file ownership..."
69-
chown -R ${ZAMMAD_USER}:${ZAMMAD_USER} ${ZAMMAD_DIR}
69+
chown -R "${ZAMMAD_USER}":"${ZAMMAD_USER}" "${ZAMMAD_DIR}"
7070

7171
log-helper info "Delete logs..."
72-
find ${ZAMMAD_DIR}/log -iname *.log -exec rm {} \;
72+
find "${ZAMMAD_DIR}/log" -iname "*.log" -exec rm {} \;
7373

74-
touch $FIRST_START_DONE
74+
touch "${FIRST_START_DONE}"
7575
fi
76-
77-
exit 0

‎image/service/scheduler/process.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ log-helper level eq trace && set -x
66

77
sv start /container/run/process/railsserver || exit 1
88

9-
cd ${ZAMMAD_DIR}
10-
exec gosu ${ZAMMAD_USER}:${ZAMMAD_USER} bundle exec script/scheduler.rb run
9+
cd "${ZAMMAD_DIR}"
10+
exec gosu "${ZAMMAD_USER}":"${ZAMMAD_USER}" bundle exec script/scheduler.rb run

‎image/service/websocket/process.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ log-helper level eq trace && set -x
66

77
sv start /container/run/process/railsserver || exit 1
88

9-
cd ${ZAMMAD_DIR}
10-
exec gosu ${ZAMMAD_USER}:${ZAMMAD_USER} bundle exec script/websocket-server.rb -b 127.0.0.1 -p 6042 start
9+
cd "${ZAMMAD_DIR}"
10+
exec gosu "${ZAMMAD_USER}":"${ZAMMAD_USER}" bundle exec script/websocket-server.rb -b 127.0.0.1 -p 6042 start

0 commit comments

Comments
 (0)
Please sign in to comment.