mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00

* We need a SOCKS proxy to support fetching from git:// or ssh:// URLs within the container, so add an option to specify it * It's possible for the http and https proxy settings to be the same, so set one from the other if only one of them is set. * If we want to be able to fetch from internal servers inside the proxy then we also need a "no-proxy" list, so add support for that. * It's not unlikely that machines within networks requiring use of a proxy for external network access will have all of the proxy settings set in the environment, so we can try to pick up the defaults from there. * Ensure that we can switch from proxy to no proxy (when reinstalling) which means we always need to edit the config files and ensure the proxy options get commented out if we don't want them set. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
75 lines
2.1 KiB
Docker
75 lines
2.1 KiB
Docker
# See README for how to use this.
|
|
|
|
FROM debian:stretch
|
|
LABEL maintainer="Michael Halstead <mhalstead@linuxfoundation.org>"
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
LANG=en_US.UTF-8 \
|
|
LC_ALL=en_US.UTF-8 \
|
|
LC_CTYPE=en_US.UTF-8
|
|
## Uncomment to set proxy ENVVARS within container
|
|
#ENV http_proxy http://your.proxy.server:port
|
|
#ENV https_proxy https://your.proxy.server:port
|
|
#ENV no_proxy localhost,127.0.0.0/8
|
|
|
|
# NOTE: we don't purge gcc below as we have some places in the OE metadata that look for it
|
|
|
|
COPY requirements.txt /
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
autoconf \
|
|
g++ \
|
|
gcc \
|
|
make \
|
|
python-pip \
|
|
python-mysqldb \
|
|
python-dev \
|
|
python-imaging \
|
|
python3-pip \
|
|
python3-mysqldb \
|
|
python3-dev \
|
|
python3-pil \
|
|
libjpeg-dev \
|
|
libmariadbclient-dev \
|
|
locales \
|
|
netcat-openbsd \
|
|
curl \
|
|
wget \
|
|
git-core \
|
|
vim \
|
|
rpm2cpio \
|
|
rpm \
|
|
cpio \
|
|
&& echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \
|
|
&& locale-gen en_US.UTF-8 \
|
|
&& update-locale \
|
|
&& pip3 install gunicorn \
|
|
&& pip install setuptools \
|
|
&& pip3 install setuptools \
|
|
&& pip install -r /requirements.txt \
|
|
&& pip3 install -r /requirements.txt \
|
|
&& apt-get purge -y autoconf g++ make python-dev python3-dev libjpeg-dev libmariadbclient-dev \
|
|
&& apt-get autoremove -y \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& apt-get clean
|
|
|
|
COPY . /opt/layerindex
|
|
RUN rm -rf /opt/layerindex/docker
|
|
COPY docker/settings.py /opt/layerindex/settings.py
|
|
COPY docker/refreshlayers.sh /opt/refreshlayers.sh
|
|
COPY docker/updatelayers.sh /opt/updatelayers.sh
|
|
COPY docker/migrate.sh /opt/migrate.sh
|
|
COPY docker/connectivity_check.sh /opt/connectivity_check.sh
|
|
|
|
RUN mkdir /opt/workdir \
|
|
&& adduser --system --uid=500 layers \
|
|
&& chown -R layers /opt/workdir
|
|
USER layers
|
|
|
|
# Always copy in .gitconfig and proxy helper script (they need editing to be active)
|
|
COPY docker/.gitconfig /home/layers/.gitconfig
|
|
COPY docker/git-proxy /opt/bin/git-proxy
|
|
|
|
# Start Gunicorn
|
|
CMD ["/usr/local/bin/gunicorn", "wsgi:application", "--workers=4", "--bind=:5000", "--timeout=60", "--log-level=debug", "--chdir=/opt/layerindex"]
|