diff --git a/mattermost-cleaner/Dockerfile b/mattermost-cleaner/Dockerfile index 573bc7a74459188856d75958f637cebef7344f9d..247363aa87ae9957e83b3ccfbc86a2a26b4ae2a1 100644 --- a/mattermost-cleaner/Dockerfile +++ b/mattermost-cleaner/Dockerfile @@ -3,11 +3,10 @@ MAINTAINER stephane.crozat@utc.fr RUN apt-get update && \ apt-get install -y --no-install-recommends postgresql-client cron && \ - apt-get clean && \ + apt-get clean -ENV CRON_TIME="0 * * * *" -ADD croninit.sh /croninit.sh -ADD psqlcmd.sh /psqlcmd.sh +ENV CRON_TIME="0 * * * *" +COPY croninit.sh /croninit.sh +COPY psqlcmd.sh /psqlcmd.sh -CMD ["/psqlcmd.sh"] -CMD ["/croninit.sh"] +CMD ["/cron.sh"] diff --git a/mattermost-cleaner/README.md b/mattermost-cleaner/README.md index 728140f42a6b63cd2c8a78c3cc8189e1e3571884..ccb220d43314160f0c12d10ce161283898d56375 100644 --- a/mattermost-cleaner/README.md +++ b/mattermost-cleaner/README.md @@ -12,6 +12,7 @@ Delete command is run first when container starts and then every hour. --env POSTGRES_PORT=27017 \ --env POSTGRES_USER=admin \ --env POSTGRES_PASS=password \ + --env MATTERMOST_TEAM=team\ ## Parameters diff --git a/mattermost-cleaner/croninit.sh b/mattermost-cleaner/cron.sh similarity index 87% rename from mattermost-cleaner/croninit.sh rename to mattermost-cleaner/cron.sh index 48d769e571e64a6664ec1d737e3fa8adb0ffd7c5..85dda8e04ff9483596bb3432d83b3054eda60289 100755 --- a/mattermost-cleaner/croninit.sh +++ b/mattermost-cleaner/cron.sh @@ -1,4 +1,5 @@ #!/bin/bash +sh psqlcmd.sh echo "${CRON_TIME} /psqlcmd.sh" > /crontab.conf crontab /crontab.conf exec cron -f diff --git a/mattermost-cleaner/psqlcmd.sh b/mattermost-cleaner/psqlcmd.sh index 0fea16abc1e6d5a9bc59e656d7d759040f156bd7..d4a218ad2c665dc80c4aee91d5a87cf060532122 100755 --- a/mattermost-cleaner/psqlcmd.sh +++ b/mattermost-cleaner/psqlcmd.sh @@ -5,6 +5,7 @@ [ -z "${POSTGRES_USER}" ] && { echo "=> POSTGRES_USER cannot be empty" && exit 1; } [ -z "${POSTGRES_PASS}" ] && { echo "=> POSTGRES_PASS cannot be empty" && exit 1; } [ -z "${POSTGRES_DB}" ] && { echo "=> POSTGRES_DB cannot be empty" && exit 1; } +[ -z "${MATTERMOST_TEAM}" ] && { echo "=> MATTERMOST_TEAM cannot be empty" && exit 1; } export PGHOST=$POSTGRES_HOST export PGPORT=$POSTGRES_PORT @@ -12,5 +13,5 @@ export PGDATABASE=$POSTGRES_DB export PGUSER=$POSTGRES_USER export PGPASSWORD=$POSTGRES_PASS -SQL_CMD="DELETE FROM posts WHERE id IN (SELECT p.id FROM posts p LEFT JOIN channels c ON p.channelid=c.id LEFT JOIN teams t ON c.teamid=t.id WHERE p.type='system_join_channel')" +SQL_CMD="DELETE FROM posts WHERE id IN (SELECT p.id FROM posts p LEFT JOIN channels c ON p.channelid=c.id LEFT JOIN teams t ON c.teamid=t.id WHERE p.type='system_join_channel' AND t.name = '${MATTERMOST_TEAM}';)" psql -c \""${SQL_CMD}"\"