FROM php
LABEL maintainer="Disassembler <disassembler@dasm.cz>"

RUN \
 # Install runtime dependencies
 apk --no-cache add php7-dom php7-iconv php7-openssl php7-pdo_pgsql php7-posix php7-simplexml php7-sockets php7-xml php7-zip php7-zlib

RUN \
 # Install build dependencies
 apk --no-cache add --virtual .deps git \
 # Download KanBoard
 && wget https://github.com/kanboard/kanboard/archive/v1.2.5.zip -O /srv/kanboard.zip \
 && unzip /srv/kanboard.zip -d /srv \
 && mv /srv/kanboard-1.2.5 /srv/kanboard \
 # Install plugins
 && git clone --depth=1 https://github.com/BlueTeck/kanboard_plugin_overwrite_translation /srv/kanboard/plugins/Overwrite_translation \
 && git clone --depth=1 https://github.com/BlueTeck/kanboard_plugin_coverimage /srv/kanboard/plugins/Coverimage \
 && git clone --depth=1 https://github.com/BlueTeck/kanboard_plugin_metadata /srv/kanboard/plugins/Metadata \
 && git clone --depth=1 https://github.com/eSkiSo/Subtaskdate /srv/kanboard/plugins/Subtaskdate \
 && git clone --depth=1 https://github.com/kanboard/plugin-budget /srv/kanboard/plugins/Budget \
 && git clone --depth=1 https://github.com/kanboard/plugin-calendar /srv/kanboard/plugins/Calendar \
 && git clone --depth=1 https://github.com/kanboard/plugin-chat /srv/kanboard/plugins/Chat \
 && git clone --depth=1 https://github.com/kanboard/plugin-gantt /srv/kanboard/plugins/Gantt \
 && git clone --depth=1 https://github.com/kanboard/plugin-gravatar /srv/kanboard/plugins/Gravatar \
 && git clone --depth=1 https://github.com/kanboard/plugin-registration /srv/kanboard/plugins/Registration \
 && git clone --depth=1 https://github.com/kanboard/plugin-sms-2fa /srv/kanboard/plugins/SmsTwoFactor \
 && git clone --depth=1 https://github.com/kanboard/plugin-task-board-date /srv/kanboard/plugins/TaskBoardDate \
 && git clone --depth=1 https://github.com/oliviermaridat/kanboard-milestone-plugin /srv/kanboard/plugins/Milestone \
 && git clone --depth=1 https://github.com/xavividal/kanboard-plugin-relationgraph /srv/kanboard/plugins/Relationgraph \
 # Create OS user
 && addgroup -S -g 8009 kanboard \
 && adduser -S -u 8009 -h /srv/kanboard -s /bin/false -g kanboard -G kanboard kanboard \
 # Cleanup
 && apk --no-cache del .deps \
 && rm -f /srv/kanboard.zip \
 && find /srv/kanboard -name '.git*' -exec rm -rf {} +

COPY docker/ /

VOLUME ["/srv/kanboard/data/files"]
EXPOSE 8080

CMD ["s6-svscan", "/etc/services.d"]
