diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..2927876 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,26 @@ +name: Docker Image CI + +on: + push: + branches: + - master + - main + pull_request: + branches: + - master + - main + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Docker Login + env: + DOCKER_USER: ${{secrets.DOCKER_USER}} + DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} + run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + - name: Docker Build + run: docker build . --file Dockerfile --tag ${{secrets.DOCKER_USER}}/elodie:$(date +%s) --tag ${{secrets.DOCKER_USER}}/elodie:latest + - name: Docker Publish + run: docker push --all-tags ${{secrets.DOCKER_USER}}/elodie \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index df8f050..b781a53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,24 +3,28 @@ ENV PYTHONUNBUFFERED 1 # Install runtime dependencies RUN apk --update upgrade && \ - apk add --update inotify-tools exiftool zlib jpeg lcms2 tiff openjpeg su-exec && \ - rm -rf /var/cache/apk/* - + apk add --update inotify-tools exiftool zlib jpeg lcms2 tiff openjpeg su-exec && \ + rm -rf /var/cache/apk/* + # Install build dependencies RUN apk --update upgrade && \ - apk add --update git \ - build-base \ - jpeg-dev \ - zlib-dev \ - lcms2-dev \ - openjpeg-dev \ - tiff-dev && \ - rm -rf /var/cache/apk/* + apk add --update git \ + build-base \ + jpeg-dev \ + zlib-dev \ + lcms2-dev \ + openjpeg-dev \ + tiff-dev \ + bash && \ + rm -rf /var/cache/apk/* WORKDIR /wheels -RUN git clone https://github.com/jmathai/elodie.git /elodie && \ - pip wheel --no-cache-dir -r /elodie/requirements.txt && \ - rm -rf /elodie/.git +RUN git clone https://github.com/D3Zyre/Elodie.git /elodie && \ + pip wheel --no-cache-dir -r /elodie/requirements.txt && \ + rm -rf /elodie/.git + +RUN git clone https://github.com/javanile/inotifywait-polling.git /inotifywait-polling && \ + chmod +x /inotifywait-polling/inotifywait-polling.sh FROM python:3-alpine LABEL maintainer="pierre@buyle.org" @@ -28,16 +32,17 @@ ENV PYTHONUNBUFFERED 1 # Install runtime dependencies RUN apk --update upgrade && \ - apk add --update inotify-tools exiftool zlib jpeg lcms2 tiff openjpeg su-exec && \ - rm -rf /var/cache/apk/* + apk add --update inotify-tools exiftool zlib jpeg lcms2 tiff openjpeg su-exec && \ + rm -rf /var/cache/apk/* COPY --from=builder /wheels /wheels COPY --from=builder /elodie /elodie +COPY --from=builder /inotifywait-polling/inotifywait-polling.sh /usr/local/bin/inotifywait-polling WORKDIR /elodie RUN pip install --no-cache-dir -r requirements.txt -f /wheels && \ - rm -rf /wheels - + rm -rf /wheels + COPY entrypoint.sh /entrypoint.sh ENV PUID=1000 diff --git a/README.md b/README.md index 6d7a216..71c9a2f 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ # elodie-docker -Docker container for [Elodie](https://github.com/jmathai/elodie) +Docker container for a more recently updated fork of [Elodie](https://github.com/D3Zyre/Elodie.git) -