diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..3f6c44b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM mariadb:latest + +ENV TZ=Europe/Vienna +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN apt-get update && apt-get install -y curl + +RUN curl https://apt.releases.teleport.dev/gpg \ + -o /usr/share/keyrings/teleport-archive-keyring.asc + +RUN export VERSION_CODENAME=jammy && echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] \ + https://apt.releases.teleport.dev/ubuntu ${VERSION_CODENAME?} stable/v11" \ + | tee /etc/apt/sources.list.d/teleport.list > /dev/null + +RUN apt-get update && apt-get install -y teleport + +VOLUME /var/lib/mysql +ENTRYPOINT ["docker-entrypoint.sh"] + +EXPOSE 3306 +CMD ["mariadbd"] diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..f6ba8ad --- /dev/null +++ b/build.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +DOCKER_IMAGE_NAME="daniel156161/mysql-teleport" +GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) + +build_docker_image() { + TAG="$1" + + echo "Building..." + docker build -t "$DOCKER_IMAGE_NAME:$TAG" . +} + +run_docker_container() { + echo "Running..." + docker run -d \ + -p 3306:3306 \ + -e TZ="Europe/Vienna" \ + -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD="true" \ + "$DOCKER_IMAGE_NAME":"$GIT_BRANCH" +} + +if [ "$GIT_BRANCH" == "master" ]; then + GIT_BRANCH="latest" +fi + +case "$1" in + run) + run_docker_container + ;; + build) + build_docker_image "$GIT_BRANCH" + ;; + upload) + build_docker_image "$GIT_BRANCH" + docker push "$DOCKER_IMAGE_NAME:$GIT_BRANCH" + ;; + *) + echo "Usage: $0 {build|upload}" + exit 1 + ;; +esac