Some people wanted to be able to run the RedditArchiver app in a Docker container.
Despite I took some Docker classes some time ago, I do not have a lot of experience with it, and there are some aspects of RedditArchiver that makes making a Dockerfile complicated for me (or more exactly: makes me doubtful about whether the way I do is the correct one)
In particular, there are two aspects of RedditArchiver that I do not really know how to handle:
- RedditArchiver has a optional feature to block requests coming from non-listed IPs. How to ensure the requesting IP is passed correctly to the container? (Might be difficult in complex orchestrator setups)
- How to handle persistent/variable data (logs, config files, output HTML files...)? What should be used? (Volumes, mappings... ?)
Here is the uncomplete Dockerfile I came up with, as now:
FROM python
WORKDIR /opt/redditarchiver
ENV RA_DOCKER=1
COPY src .
RUN pip install -r requirements.txt
EXPOSE 80:80
CMD ["gunicorn", "wsgi:app", "-b", "0.0.0.0:80", "-w", "1"]
Any help or suggestions are welcome.