diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..f535c9c7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.git +.github +.gitignore +*.md +!CHANGELOG*.md diff --git a/.github/workflows/publishdocker-branch.yml b/.github/workflows/publishdocker-branch.yml new file mode 100644 index 00000000..cca935c0 --- /dev/null +++ b/.github/workflows/publishdocker-branch.yml @@ -0,0 +1,17 @@ +name: Publish Docker Branch +on: [push] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Publish to Registry + uses: elgohr/Publish-Docker-Github-Action@master + env: + VERSION: ${{ github.sha }} + with: + name: wreave/tautulli + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + dockerfile: Dockerfile + buildargs: VERSION diff --git a/.github/workflows/publishdocker-release.yml b/.github/workflows/publishdocker-release.yml new file mode 100644 index 00000000..8e216f5a --- /dev/null +++ b/.github/workflows/publishdocker-release.yml @@ -0,0 +1,22 @@ +name: Publish Docker Release +on: + release: + types: [published, prereleased] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - name: Set env + run: echo ::set-env name=RELEASE_VERSION::${GITHUB_REF/refs\/tags\//} + - name: Publish to Registry + uses: elgohr/Publish-Docker-Github-Action@master + env: + VERSION: ${{ github.sha }} + with: + name: wreave/tautulli + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + dockerfile: Dockerfile + buildargs: VERSION + tags: ${{ env.RELEASE_VERSION }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..78bfb150 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM python:2.7.17-slim + +LABEL maintainer="TheMeanCanEHdian" + +ARG VERSION + +ENV TAUTULLI_DOCKER=True +ENV TZ=UTC + +WORKDIR /app + +RUN \ +apt-get -q -y update --no-install-recommends && \ +apt-get install -q -y --no-install-recommends \ + curl && \ +rm -rf /var/lib/apt/lists/* && \ +pip install --no-cache-dir --upgrade pip && \ +pip install --no-cache-dir --upgrade \ + plexapi \ + pycryptodomex \ + pyopenssl && \ +echo ${VERSION} > /app/version.txt + +COPY . /app + +CMD [ "python", "Tautulli.py", "--datadir", "/config" ] + +VOLUME /config /plex_logs +EXPOSE 8181 +HEALTHCHECK --start-period=90s CMD curl -ILfSs http://localhost:8181/status > /dev/null || curl -ILfkSs https://localhost:8181/status > /dev/null || exit 1