diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5b4ee1f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +FROM python:3 as base + +MAINTAINER Ben Yanke + +############## +# Main setup stage +############## + +# Copy in deps first, to improve build caching +COPY requirements.txt /app-src/requirements.txt +WORKDIR /app-src + +# Get kerberos deps before pip deps can be fetched +#RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y krb5-user -y && rm -rf /var/lib/apt/lists/* + +# Get latest pip and dependencies +RUN /usr/local/bin/python3 -m pip install --upgrade pip && pip install -r requirements.txt + +# Copy in rest of the code after deps are in place +COPY . /app-src + +# Install the app +RUN /usr/local/bin/python3 setup.py install + +############## +# Run tests in a throwaway stage +# if tests are added later, run them here +############## +#FROM base as test +#WORKDIR /app-src +#RUN /usr/local/bin/python3 setup.py test + +############## +# Throw away the test stage, revert back to base stage before push +############## + +FROM base +WORKDIR /root +CMD ["/usr/local/bin/offlineimap"] +# reads from /root/.offlineimaprc by default - mount this in for running diff --git a/README.md b/README.md index 648f4ff..bece058 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ If you are running Linux, you can install offlineimap with: - openSUSE `zypper in offlineimap` - fedora `dnf install offlineimap` - Arch Linux: through AUR package [offlineimap3-git](https://aur.archlinux.org/packages/offlineimap3-git/) +- Docker image: `offlineimap/offlineimap:latest` + (note: image not published yet, just an example) ## Feedbacks and contributions