diff --git a/Dockerfile b/Dockerfile index b7cf2ef..bc8f682 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,14 @@ -FROM alpine:latest +FROM alpine:edge ENV USER=borg ENV UID=1000 ENV GID=1000 +ENV MAINTENANCE_ENABLE="false" # Add Folders and Shell Scripts RUN mkdir "/.ssh" VOLUME ["/backups"] +VOLUME ["/logs"] COPY motd.txt /etc/motd COPY entrypoint.sh / diff --git a/build.sh b/build.sh index 8b03c2e..551df4a 100755 --- a/build.sh +++ b/build.sh @@ -2,15 +2,19 @@ DOCKER_IMAGE_NAME="daniel156161/borgbackup-ssh" DOCKER_CONTAINER_NAME="borgbackup" +GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) run_docker_container() { echo "Running..." docker run -dp 3000:22 \ -e UID=$(id -u) \ -e GID=$(id -g) \ + -e MAINTENANCE_ENABLE="true" \ + -v "$PWD"/crontab.txt:/crontab.txt \ + -v "$PWD"/maintain_repo.sh:/maintain_repo.sh \ -v "$PWD"/sshkeys:/sshkeys \ -v "$PWD"/backups:/backups \ - "$DOCKER_IMAGE_NAME" + "$DOCKER_IMAGE_NAME":"$GIT_BRANCH" } build_docker_image() { @@ -25,14 +29,18 @@ case "$1" in run_docker_container ;; build) - build_docker_image "latest" + build_docker_image "$GIT_BRANCH" ;; upload) - build_docker_image "latest" - docker push "$DOCKER_IMAGE_NAME:latest" + build_docker_image "$GIT_BRANCH" + docker push "$DOCKER_IMAGE_NAME:$GIT_BRANCH" + ;; + test) + build_docker_image "$GIT_BRANCH" + run_docker_container ;; *) - echo "Usage: $0 {run|build}" + echo "Usage: $0 {run|build|test|upload}" exit 1 ;; esac diff --git a/entrypoint.sh b/entrypoint.sh index 4010e59..89877e1 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,5 +1,5 @@ #!/bin/sh -DOCKER_IMAGE_VERSION="1.0.5" +DOCKER_IMAGE_VERSION="1.0.6" sepurator() { echo "===============================================================================" @@ -64,6 +64,18 @@ fi chown -R "$USER":"$USER" "/sshkeys/host" +# MAINTENANCE_ENABLE of Borg Repository +if [ $MAINTENANCE_ENABLE != "false" ]; then + if [ -f "/crontab.txt" ]; then + /usr/bin/crontab "/crontab.txt" + /usr/sbin/crond -b + echo "* Crontab loaded successfully" + else + echo "* Can not find /crontab.txt" + fi + sepurator +fi + echo "* Init done! - Starting SSH-Daemon..." sepurator exec /usr/sbin/sshd -D -e "$@"